diff --git a/dist/main.cjs b/dist/main.cjs index 8ac633d..8f22542 100644 --- a/dist/main.cjs +++ b/dist/main.cjs @@ -7280,9 +7280,9 @@ var require_github = __commonJS({ } }); -// node_modules/.pnpm/@actions+core@1.10.0/node_modules/@actions/core/lib/utils.js +// node_modules/.pnpm/@actions+core@1.10.1/node_modules/@actions/core/lib/utils.js var require_utils4 = __commonJS({ - "node_modules/.pnpm/@actions+core@1.10.0/node_modules/@actions/core/lib/utils.js"(exports) { + "node_modules/.pnpm/@actions+core@1.10.1/node_modules/@actions/core/lib/utils.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.toCommandProperties = exports.toCommandValue = void 0; @@ -7312,9 +7312,9 @@ var require_utils4 = __commonJS({ } }); -// node_modules/.pnpm/@actions+core@1.10.0/node_modules/@actions/core/lib/command.js +// node_modules/.pnpm/@actions+core@1.10.1/node_modules/@actions/core/lib/command.js var require_command = __commonJS({ - "node_modules/.pnpm/@actions+core@1.10.0/node_modules/@actions/core/lib/command.js"(exports) { + "node_modules/.pnpm/@actions+core@1.10.1/node_modules/@actions/core/lib/command.js"(exports) { "use strict"; var __createBinding = exports && exports.__createBinding || (Object.create ? function(o, m2, k, k2) { if (k2 === void 0) @@ -7747,9 +7747,9 @@ var init_esm_node = __esm({ } }); -// node_modules/.pnpm/@actions+core@1.10.0/node_modules/@actions/core/lib/file-command.js +// node_modules/.pnpm/@actions+core@1.10.1/node_modules/@actions/core/lib/file-command.js var require_file_command = __commonJS({ - "node_modules/.pnpm/@actions+core@1.10.0/node_modules/@actions/core/lib/file-command.js"(exports) { + "node_modules/.pnpm/@actions+core@1.10.1/node_modules/@actions/core/lib/file-command.js"(exports) { "use strict"; var __createBinding = exports && exports.__createBinding || (Object.create ? function(o, m2, k, k2) { if (k2 === void 0) @@ -7917,9 +7917,9 @@ var require_auth = __commonJS({ } }); -// node_modules/.pnpm/@actions+core@1.10.0/node_modules/@actions/core/lib/oidc-utils.js +// node_modules/.pnpm/@actions+core@1.10.1/node_modules/@actions/core/lib/oidc-utils.js var require_oidc_utils = __commonJS({ - "node_modules/.pnpm/@actions+core@1.10.0/node_modules/@actions/core/lib/oidc-utils.js"(exports) { + "node_modules/.pnpm/@actions+core@1.10.1/node_modules/@actions/core/lib/oidc-utils.js"(exports) { "use strict"; var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P, generator) { function adopt(value) { @@ -7984,7 +7984,7 @@ var require_oidc_utils = __commonJS({ Error Code : ${error.statusCode} - Error Message: ${error.result.message}`); + Error Message: ${error.message}`); }); const id_token = (_a2 = res.result) === null || _a2 === void 0 ? void 0 : _a2.value; if (!id_token) { @@ -8015,9 +8015,9 @@ var require_oidc_utils = __commonJS({ } }); -// node_modules/.pnpm/@actions+core@1.10.0/node_modules/@actions/core/lib/summary.js +// node_modules/.pnpm/@actions+core@1.10.1/node_modules/@actions/core/lib/summary.js var require_summary = __commonJS({ - "node_modules/.pnpm/@actions+core@1.10.0/node_modules/@actions/core/lib/summary.js"(exports) { + "node_modules/.pnpm/@actions+core@1.10.1/node_modules/@actions/core/lib/summary.js"(exports) { "use strict"; var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P, generator) { function adopt(value) { @@ -8309,9 +8309,9 @@ var require_summary = __commonJS({ } }); -// node_modules/.pnpm/@actions+core@1.10.0/node_modules/@actions/core/lib/path-utils.js +// node_modules/.pnpm/@actions+core@1.10.1/node_modules/@actions/core/lib/path-utils.js var require_path_utils = __commonJS({ - "node_modules/.pnpm/@actions+core@1.10.0/node_modules/@actions/core/lib/path-utils.js"(exports) { + "node_modules/.pnpm/@actions+core@1.10.1/node_modules/@actions/core/lib/path-utils.js"(exports) { "use strict"; var __createBinding = exports && exports.__createBinding || (Object.create ? function(o, m2, k, k2) { if (k2 === void 0) @@ -8359,9 +8359,9 @@ var require_path_utils = __commonJS({ } }); -// node_modules/.pnpm/@actions+core@1.10.0/node_modules/@actions/core/lib/core.js +// node_modules/.pnpm/@actions+core@1.10.1/node_modules/@actions/core/lib/core.js var require_core = __commonJS({ - "node_modules/.pnpm/@actions+core@1.10.0/node_modules/@actions/core/lib/core.js"(exports) { + "node_modules/.pnpm/@actions+core@1.10.1/node_modules/@actions/core/lib/core.js"(exports) { "use strict"; var __createBinding = exports && exports.__createBinding || (Object.create ? function(o, m2, k, k2) { if (k2 === void 0) diff --git a/dist/main.cjs.map b/dist/main.cjs.map index 8036494..389a05e 100644 --- a/dist/main.cjs.map +++ b/dist/main.cjs.map @@ -1 +1 @@ -{"version":3,"sources":["../node_modules/.pnpm/@actions+github@5.1.1/node_modules/@actions/github/src/context.ts","../node_modules/.pnpm/@actions+http-client@2.1.1/node_modules/@actions/http-client/src/proxy.ts","../node_modules/.pnpm/tunnel@0.0.6/node_modules/tunnel/lib/tunnel.js","../node_modules/.pnpm/tunnel@0.0.6/node_modules/tunnel/index.js","../node_modules/.pnpm/@actions+http-client@2.1.1/node_modules/@actions/http-client/src/index.ts","../node_modules/.pnpm/@actions+github@5.1.1/node_modules/@actions/github/src/internal/utils.ts","../node_modules/.pnpm/universal-user-agent@6.0.0/node_modules/universal-user-agent/dist-src/index.js","../node_modules/.pnpm/before-after-hook@2.2.3/node_modules/before-after-hook/lib/register.js","../node_modules/.pnpm/before-after-hook@2.2.3/node_modules/before-after-hook/lib/add.js","../node_modules/.pnpm/before-after-hook@2.2.3/node_modules/before-after-hook/lib/remove.js","../node_modules/.pnpm/before-after-hook@2.2.3/node_modules/before-after-hook/index.js","../node_modules/.pnpm/is-plain-object@5.0.0/node_modules/is-plain-object/dist/is-plain-object.mjs","../node_modules/.pnpm/@octokit+endpoint@6.0.12/node_modules/@octokit/endpoint/dist-src/util/lowercase-keys.js","../node_modules/.pnpm/@octokit+endpoint@6.0.12/node_modules/@octokit/endpoint/dist-src/util/merge-deep.js","../node_modules/.pnpm/@octokit+endpoint@6.0.12/node_modules/@octokit/endpoint/dist-src/util/remove-undefined-properties.js","../node_modules/.pnpm/@octokit+endpoint@6.0.12/node_modules/@octokit/endpoint/dist-src/merge.js","../node_modules/.pnpm/@octokit+endpoint@6.0.12/node_modules/@octokit/endpoint/dist-src/util/add-query-parameters.js","../node_modules/.pnpm/@octokit+endpoint@6.0.12/node_modules/@octokit/endpoint/dist-src/util/extract-url-variable-names.js","../node_modules/.pnpm/@octokit+endpoint@6.0.12/node_modules/@octokit/endpoint/dist-src/util/omit.js","../node_modules/.pnpm/@octokit+endpoint@6.0.12/node_modules/@octokit/endpoint/dist-src/util/url-template.js","../node_modules/.pnpm/@octokit+endpoint@6.0.12/node_modules/@octokit/endpoint/dist-src/parse.js","../node_modules/.pnpm/@octokit+endpoint@6.0.12/node_modules/@octokit/endpoint/dist-src/endpoint-with-defaults.js","../node_modules/.pnpm/@octokit+endpoint@6.0.12/node_modules/@octokit/endpoint/dist-src/with-defaults.js","../node_modules/.pnpm/@octokit+endpoint@6.0.12/node_modules/@octokit/endpoint/dist-src/version.js","../node_modules/.pnpm/@octokit+endpoint@6.0.12/node_modules/@octokit/endpoint/dist-src/defaults.js","../node_modules/.pnpm/@octokit+endpoint@6.0.12/node_modules/@octokit/endpoint/dist-src/index.js","../node_modules/.pnpm/webidl-conversions@3.0.1/node_modules/webidl-conversions/lib/index.js","../node_modules/.pnpm/whatwg-url@5.0.0/node_modules/whatwg-url/lib/utils.js","../node_modules/.pnpm/tr46@0.0.3/node_modules/tr46/lib/mappingTable.json","../node_modules/.pnpm/tr46@0.0.3/node_modules/tr46/index.js","../node_modules/.pnpm/whatwg-url@5.0.0/node_modules/whatwg-url/lib/url-state-machine.js","../node_modules/.pnpm/whatwg-url@5.0.0/node_modules/whatwg-url/lib/URL-impl.js","../node_modules/.pnpm/whatwg-url@5.0.0/node_modules/whatwg-url/lib/URL.js","../node_modules/.pnpm/whatwg-url@5.0.0/node_modules/whatwg-url/lib/public-api.js","../node_modules/.pnpm/node-fetch@2.6.13/node_modules/node-fetch/lib/index.mjs","../node_modules/.pnpm/deprecation@2.3.1/node_modules/deprecation/dist-web/index.js","../node_modules/.pnpm/wrappy@1.0.2/node_modules/wrappy/wrappy.js","../node_modules/.pnpm/once@1.4.0/node_modules/once/once.js","../node_modules/.pnpm/@octokit+request-error@2.1.0/node_modules/@octokit/request-error/dist-src/index.js","../node_modules/.pnpm/@octokit+request@5.6.3/node_modules/@octokit/request/dist-src/version.js","../node_modules/.pnpm/@octokit+request@5.6.3/node_modules/@octokit/request/dist-src/get-buffer-response.js","../node_modules/.pnpm/@octokit+request@5.6.3/node_modules/@octokit/request/dist-src/fetch-wrapper.js","../node_modules/.pnpm/@octokit+request@5.6.3/node_modules/@octokit/request/dist-src/with-defaults.js","../node_modules/.pnpm/@octokit+request@5.6.3/node_modules/@octokit/request/dist-src/index.js","../node_modules/.pnpm/@octokit+graphql@4.8.0/node_modules/@octokit/graphql/dist-src/version.js","../node_modules/.pnpm/@octokit+graphql@4.8.0/node_modules/@octokit/graphql/dist-src/error.js","../node_modules/.pnpm/@octokit+graphql@4.8.0/node_modules/@octokit/graphql/dist-src/graphql.js","../node_modules/.pnpm/@octokit+graphql@4.8.0/node_modules/@octokit/graphql/dist-src/with-defaults.js","../node_modules/.pnpm/@octokit+graphql@4.8.0/node_modules/@octokit/graphql/dist-src/index.js","../node_modules/.pnpm/@octokit+auth-token@2.5.0/node_modules/@octokit/auth-token/dist-src/auth.js","../node_modules/.pnpm/@octokit+auth-token@2.5.0/node_modules/@octokit/auth-token/dist-src/with-authorization-prefix.js","../node_modules/.pnpm/@octokit+auth-token@2.5.0/node_modules/@octokit/auth-token/dist-src/hook.js","../node_modules/.pnpm/@octokit+auth-token@2.5.0/node_modules/@octokit/auth-token/dist-src/index.js","../node_modules/.pnpm/@octokit+core@3.6.0/node_modules/@octokit/core/dist-src/version.js","../node_modules/.pnpm/@octokit+core@3.6.0/node_modules/@octokit/core/dist-src/index.js","../node_modules/.pnpm/@octokit+plugin-rest-endpoint-methods@5.16.2_@octokit+core@3.6.0/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/endpoints.js","../node_modules/.pnpm/@octokit+plugin-rest-endpoint-methods@5.16.2_@octokit+core@3.6.0/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/version.js","../node_modules/.pnpm/@octokit+plugin-rest-endpoint-methods@5.16.2_@octokit+core@3.6.0/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/endpoints-to-methods.js","../node_modules/.pnpm/@octokit+plugin-rest-endpoint-methods@5.16.2_@octokit+core@3.6.0/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/index.js","../node_modules/.pnpm/@octokit+plugin-paginate-rest@2.21.3_@octokit+core@3.6.0/node_modules/@octokit/plugin-paginate-rest/dist-src/version.js","../node_modules/.pnpm/@octokit+plugin-paginate-rest@2.21.3_@octokit+core@3.6.0/node_modules/@octokit/plugin-paginate-rest/dist-src/normalize-paginated-list-response.js","../node_modules/.pnpm/@octokit+plugin-paginate-rest@2.21.3_@octokit+core@3.6.0/node_modules/@octokit/plugin-paginate-rest/dist-src/iterator.js","../node_modules/.pnpm/@octokit+plugin-paginate-rest@2.21.3_@octokit+core@3.6.0/node_modules/@octokit/plugin-paginate-rest/dist-src/paginate.js","../node_modules/.pnpm/@octokit+plugin-paginate-rest@2.21.3_@octokit+core@3.6.0/node_modules/@octokit/plugin-paginate-rest/dist-src/compose-paginate.js","../node_modules/.pnpm/@octokit+plugin-paginate-rest@2.21.3_@octokit+core@3.6.0/node_modules/@octokit/plugin-paginate-rest/dist-src/generated/paginating-endpoints.js","../node_modules/.pnpm/@octokit+plugin-paginate-rest@2.21.3_@octokit+core@3.6.0/node_modules/@octokit/plugin-paginate-rest/dist-src/paginating-endpoints.js","../node_modules/.pnpm/@octokit+plugin-paginate-rest@2.21.3_@octokit+core@3.6.0/node_modules/@octokit/plugin-paginate-rest/dist-src/index.js","../node_modules/.pnpm/@actions+github@5.1.1/node_modules/@actions/github/src/utils.ts","../node_modules/.pnpm/@actions+github@5.1.1/node_modules/@actions/github/src/github.ts","../node_modules/.pnpm/@actions+core@1.10.0/node_modules/@actions/core/src/utils.ts","../node_modules/.pnpm/@actions+core@1.10.0/node_modules/@actions/core/src/command.ts","../node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/esm-node/rng.js","../node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/esm-node/regex.js","../node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/esm-node/validate.js","../node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/esm-node/stringify.js","../node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/esm-node/v1.js","../node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/esm-node/parse.js","../node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/esm-node/v35.js","../node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/esm-node/md5.js","../node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/esm-node/v3.js","../node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/esm-node/v4.js","../node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/esm-node/sha1.js","../node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/esm-node/v5.js","../node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/esm-node/nil.js","../node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/esm-node/version.js","../node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/esm-node/index.js","../node_modules/.pnpm/@actions+core@1.10.0/node_modules/@actions/core/src/file-command.ts","../node_modules/.pnpm/@actions+http-client@2.1.1/node_modules/@actions/http-client/src/auth.ts","../node_modules/.pnpm/@actions+core@1.10.0/node_modules/@actions/core/src/oidc-utils.ts","../node_modules/.pnpm/@actions+core@1.10.0/node_modules/@actions/core/src/summary.ts","../node_modules/.pnpm/@actions+core@1.10.0/node_modules/@actions/core/src/path-utils.ts","../node_modules/.pnpm/@actions+core@1.10.0/node_modules/@actions/core/src/core.ts","../node_modules/.pnpm/ms@2.1.2/node_modules/ms/index.js","../node_modules/.pnpm/debug@4.3.4/node_modules/debug/src/common.js","../node_modules/.pnpm/debug@4.3.4/node_modules/debug/src/browser.js","../node_modules/.pnpm/has-flag@4.0.0/node_modules/has-flag/index.js","../node_modules/.pnpm/supports-color@7.2.0/node_modules/supports-color/index.js","../node_modules/.pnpm/debug@4.3.4/node_modules/debug/src/node.js","../node_modules/.pnpm/debug@4.3.4/node_modules/debug/src/index.js","../node_modules/.pnpm/@kwsites+file-exists@1.1.1/node_modules/@kwsites/file-exists/src/index.ts","../node_modules/.pnpm/@kwsites+file-exists@1.1.1/node_modules/@kwsites/file-exists/index.ts","../node_modules/.pnpm/@kwsites+promise-deferred@1.1.1/node_modules/@kwsites/promise-deferred/src/index.ts","../node_modules/.pnpm/path-exists@3.0.0/node_modules/path-exists/index.js","../node_modules/.pnpm/p-try@1.0.0/node_modules/p-try/index.js","../node_modules/.pnpm/p-limit@1.3.0/node_modules/p-limit/index.js","../node_modules/.pnpm/p-locate@2.0.0/node_modules/p-locate/index.js","../node_modules/.pnpm/locate-path@2.0.0/node_modules/locate-path/index.js","../node_modules/.pnpm/find-up@2.1.0/node_modules/find-up/index.js","../node_modules/.pnpm/ignore@3.3.10/node_modules/ignore/ignore.js","../node_modules/.pnpm/is-directory@0.3.1/node_modules/is-directory/index.js","../node_modules/.pnpm/fs.realpath@1.0.0/node_modules/fs.realpath/old.js","../node_modules/.pnpm/fs.realpath@1.0.0/node_modules/fs.realpath/index.js","../node_modules/.pnpm/concat-map@0.0.1/node_modules/concat-map/index.js","../node_modules/.pnpm/balanced-match@1.0.2/node_modules/balanced-match/index.js","../node_modules/.pnpm/brace-expansion@1.1.11/node_modules/brace-expansion/index.js","../node_modules/.pnpm/minimatch@3.1.2/node_modules/minimatch/minimatch.js","../node_modules/.pnpm/inherits@2.0.4/node_modules/inherits/inherits_browser.js","../node_modules/.pnpm/inherits@2.0.4/node_modules/inherits/inherits.js","../node_modules/.pnpm/path-is-absolute@1.0.1/node_modules/path-is-absolute/index.js","../node_modules/.pnpm/glob@7.2.3/node_modules/glob/common.js","../node_modules/.pnpm/glob@7.2.3/node_modules/glob/sync.js","../node_modules/.pnpm/inflight@1.0.6/node_modules/inflight/inflight.js","../node_modules/.pnpm/glob@7.2.3/node_modules/glob/glob.js","../node_modules/.pnpm/true-case-path@1.0.3/node_modules/true-case-path/index.js","../node_modules/.pnpm/codeowners@5.1.1/node_modules/codeowners/codeowners.js","../node_modules/.pnpm/brace-expansion@2.0.1/node_modules/brace-expansion/index.js","../node_modules/.pnpm/web-streams-polyfill@3.2.1/node_modules/web-streams-polyfill/src/stub/symbol.ts","../node_modules/.pnpm/web-streams-polyfill@3.2.1/node_modules/web-streams-polyfill/src/utils.ts","../node_modules/.pnpm/web-streams-polyfill@3.2.1/node_modules/web-streams-polyfill/src/lib/helpers/miscellaneous.ts","../node_modules/.pnpm/web-streams-polyfill@3.2.1/node_modules/web-streams-polyfill/src/lib/helpers/webidl.ts","../node_modules/.pnpm/web-streams-polyfill@3.2.1/node_modules/web-streams-polyfill/src/lib/simple-queue.ts","../node_modules/.pnpm/web-streams-polyfill@3.2.1/node_modules/web-streams-polyfill/src/lib/readable-stream/generic-reader.ts","../node_modules/.pnpm/web-streams-polyfill@3.2.1/node_modules/web-streams-polyfill/src/lib/abstract-ops/internal-methods.ts","../node_modules/.pnpm/web-streams-polyfill@3.2.1/node_modules/web-streams-polyfill/src/stub/number-isfinite.ts","../node_modules/.pnpm/web-streams-polyfill@3.2.1/node_modules/web-streams-polyfill/src/stub/math-trunc.ts","../node_modules/.pnpm/web-streams-polyfill@3.2.1/node_modules/web-streams-polyfill/src/lib/validators/basic.ts","../node_modules/.pnpm/web-streams-polyfill@3.2.1/node_modules/web-streams-polyfill/src/lib/validators/readable-stream.ts","../node_modules/.pnpm/web-streams-polyfill@3.2.1/node_modules/web-streams-polyfill/src/lib/readable-stream/default-reader.ts","../node_modules/.pnpm/web-streams-polyfill@3.2.1/node_modules/web-streams-polyfill/src/target/es2018/stub/async-iterator-prototype.ts","../node_modules/.pnpm/web-streams-polyfill@3.2.1/node_modules/web-streams-polyfill/src/lib/readable-stream/async-iterator.ts","../node_modules/.pnpm/web-streams-polyfill@3.2.1/node_modules/web-streams-polyfill/src/stub/number-isnan.ts","../node_modules/.pnpm/web-streams-polyfill@3.2.1/node_modules/web-streams-polyfill/src/lib/abstract-ops/ecmascript.ts","../node_modules/.pnpm/web-streams-polyfill@3.2.1/node_modules/web-streams-polyfill/src/lib/abstract-ops/miscellaneous.ts","../node_modules/.pnpm/web-streams-polyfill@3.2.1/node_modules/web-streams-polyfill/src/lib/abstract-ops/queue-with-sizes.ts","../node_modules/.pnpm/web-streams-polyfill@3.2.1/node_modules/web-streams-polyfill/src/lib/readable-stream/byte-stream-controller.ts","../node_modules/.pnpm/web-streams-polyfill@3.2.1/node_modules/web-streams-polyfill/src/lib/readable-stream/byob-reader.ts","../node_modules/.pnpm/web-streams-polyfill@3.2.1/node_modules/web-streams-polyfill/src/lib/abstract-ops/queuing-strategy.ts","../node_modules/.pnpm/web-streams-polyfill@3.2.1/node_modules/web-streams-polyfill/src/lib/validators/queuing-strategy.ts","../node_modules/.pnpm/web-streams-polyfill@3.2.1/node_modules/web-streams-polyfill/src/lib/validators/underlying-sink.ts","../node_modules/.pnpm/web-streams-polyfill@3.2.1/node_modules/web-streams-polyfill/src/lib/validators/writable-stream.ts","../node_modules/.pnpm/web-streams-polyfill@3.2.1/node_modules/web-streams-polyfill/src/lib/abort-signal.ts","../node_modules/.pnpm/web-streams-polyfill@3.2.1/node_modules/web-streams-polyfill/src/lib/writable-stream.ts","../node_modules/.pnpm/web-streams-polyfill@3.2.1/node_modules/web-streams-polyfill/src/stub/native.ts","../node_modules/.pnpm/web-streams-polyfill@3.2.1/node_modules/web-streams-polyfill/src/stub/dom-exception.ts","../node_modules/.pnpm/web-streams-polyfill@3.2.1/node_modules/web-streams-polyfill/src/lib/readable-stream/pipe.ts","../node_modules/.pnpm/web-streams-polyfill@3.2.1/node_modules/web-streams-polyfill/src/lib/readable-stream/default-controller.ts","../node_modules/.pnpm/web-streams-polyfill@3.2.1/node_modules/web-streams-polyfill/src/lib/readable-stream/tee.ts","../node_modules/.pnpm/web-streams-polyfill@3.2.1/node_modules/web-streams-polyfill/src/lib/validators/underlying-source.ts","../node_modules/.pnpm/web-streams-polyfill@3.2.1/node_modules/web-streams-polyfill/src/lib/validators/reader-options.ts","../node_modules/.pnpm/web-streams-polyfill@3.2.1/node_modules/web-streams-polyfill/src/lib/validators/iterator-options.ts","../node_modules/.pnpm/web-streams-polyfill@3.2.1/node_modules/web-streams-polyfill/src/lib/validators/pipe-options.ts","../node_modules/.pnpm/web-streams-polyfill@3.2.1/node_modules/web-streams-polyfill/src/lib/validators/readable-writable-pair.ts","../node_modules/.pnpm/web-streams-polyfill@3.2.1/node_modules/web-streams-polyfill/src/lib/readable-stream.ts","../node_modules/.pnpm/web-streams-polyfill@3.2.1/node_modules/web-streams-polyfill/src/lib/validators/queuing-strategy-init.ts","../node_modules/.pnpm/web-streams-polyfill@3.2.1/node_modules/web-streams-polyfill/src/lib/byte-length-queuing-strategy.ts","../node_modules/.pnpm/web-streams-polyfill@3.2.1/node_modules/web-streams-polyfill/src/lib/count-queuing-strategy.ts","../node_modules/.pnpm/web-streams-polyfill@3.2.1/node_modules/web-streams-polyfill/src/lib/validators/transformer.ts","../node_modules/.pnpm/web-streams-polyfill@3.2.1/node_modules/web-streams-polyfill/src/lib/transform-stream.ts","../node_modules/.pnpm/fetch-blob@3.2.0/node_modules/fetch-blob/streams.cjs","../node_modules/.pnpm/fetch-blob@3.2.0/node_modules/fetch-blob/index.js","../node_modules/.pnpm/fetch-blob@3.2.0/node_modules/fetch-blob/file.js","../node_modules/.pnpm/formdata-polyfill@4.0.10/node_modules/formdata-polyfill/esm.min.js","../node_modules/.pnpm/node-domexception@1.0.0/node_modules/node-domexception/index.js","../node_modules/.pnpm/fetch-blob@3.2.0/node_modules/fetch-blob/from.js","../node_modules/.pnpm/node-fetch@3.3.2/node_modules/node-fetch/src/utils/multipart-parser.js","../src/main.ts","../node_modules/.pnpm/chalk@5.3.0/node_modules/chalk/source/vendor/ansi-styles/index.js","../node_modules/.pnpm/chalk@5.3.0/node_modules/chalk/source/vendor/supports-color/index.js","../node_modules/.pnpm/chalk@5.3.0/node_modules/chalk/source/utilities.js","../node_modules/.pnpm/chalk@5.3.0/node_modules/chalk/source/index.js","../src/calculate-reviews-to-dismiss.ts","../src/group-reviews-by-commit.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/args/pathspec.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/errors/git-error.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/errors/git-response-error.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/errors/task-configuration-error.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/utils/util.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/utils/argument-filters.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/utils/exit-codes.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/utils/git-output-streams.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/utils/line-parser.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/utils/simple-git-options.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/utils/task-options.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/utils/task-parser.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/utils/index.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/tasks/check-is-repo.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/responses/CleanSummary.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/tasks/task.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/tasks/clean.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/responses/ConfigList.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/tasks/config.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/tasks/grep.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/tasks/reset.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/git-logger.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/runners/tasks-pending-queue.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/runners/git-executor-chain.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/runners/git-executor.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/task-callback.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/tasks/change-working-directory.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/tasks/checkout.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/parsers/parse-commit.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/tasks/commit.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/tasks/hash-object.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/responses/InitSummary.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/tasks/init.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/args/log-format.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/responses/DiffSummary.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/parsers/parse-diff-summary.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/parsers/parse-list-log-summary.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/tasks/diff.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/tasks/log.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/responses/MergeSummary.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/responses/PullSummary.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/parsers/parse-remote-objects.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/parsers/parse-remote-messages.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/parsers/parse-pull.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/parsers/parse-merge.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/tasks/merge.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/parsers/parse-push.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/tasks/push.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/tasks/show.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/responses/FileStatusSummary.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/responses/StatusSummary.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/tasks/status.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/tasks/version.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/simple-git-api.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/runners/scheduler.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/tasks/apply-patch.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/responses/BranchDeleteSummary.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/parsers/parse-branch-delete.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/responses/BranchSummary.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/parsers/parse-branch.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/tasks/branch.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/responses/CheckIgnore.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/tasks/check-ignore.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/tasks/clone.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/parsers/parse-fetch.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/tasks/fetch.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/parsers/parse-move.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/tasks/move.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/tasks/pull.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/responses/GetRemoteSummary.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/tasks/remote.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/tasks/stash-list.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/tasks/sub-module.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/responses/TagList.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/tasks/tag.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/git.js","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/api.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/errors/git-construct-error.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/errors/git-plugin-error.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/plugins/abort-plugin.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/plugins/block-unsafe-operations-plugin.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/plugins/command-config-prefixing-plugin.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/plugins/completion-detection.plugin.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/plugins/error-detection.plugin.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/plugins/plugin-store.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/plugins/progress-monitor-plugin.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/plugins/spawn-options-plugin.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/plugins/timout-plugin.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/plugins/suffix-paths.plugin.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/git-factory.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/runners/promise-wrapped.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/esm.mjs","../node_modules/.pnpm/minimatch@9.0.3/node_modules/minimatch/src/index.ts","../node_modules/.pnpm/minimatch@9.0.3/node_modules/minimatch/src/assert-valid-pattern.ts","../node_modules/.pnpm/minimatch@9.0.3/node_modules/minimatch/src/brace-expressions.ts","../node_modules/.pnpm/minimatch@9.0.3/node_modules/minimatch/src/unescape.ts","../node_modules/.pnpm/minimatch@9.0.3/node_modules/minimatch/src/ast.ts","../node_modules/.pnpm/minimatch@9.0.3/node_modules/minimatch/src/escape.ts","../src/get-head-diff-since-review.ts","../src/type-guards.ts","../src/get-team-data.ts","../src/dismiss-reviews.ts","../src/get-pr-data.ts","../node_modules/.pnpm/@octokit+core@5.0.0/node_modules/@octokit/core/dist-web/index.js","../node_modules/.pnpm/@octokit+endpoint@9.0.0/node_modules/@octokit/endpoint/dist-src/defaults.js","../node_modules/.pnpm/@octokit+endpoint@9.0.0/node_modules/@octokit/endpoint/dist-src/version.js","../node_modules/.pnpm/@octokit+endpoint@9.0.0/node_modules/@octokit/endpoint/dist-src/util/lowercase-keys.js","../node_modules/.pnpm/@octokit+endpoint@9.0.0/node_modules/@octokit/endpoint/dist-src/util/merge-deep.js","../node_modules/.pnpm/@octokit+endpoint@9.0.0/node_modules/@octokit/endpoint/dist-src/util/remove-undefined-properties.js","../node_modules/.pnpm/@octokit+endpoint@9.0.0/node_modules/@octokit/endpoint/dist-src/merge.js","../node_modules/.pnpm/@octokit+endpoint@9.0.0/node_modules/@octokit/endpoint/dist-src/util/add-query-parameters.js","../node_modules/.pnpm/@octokit+endpoint@9.0.0/node_modules/@octokit/endpoint/dist-src/util/extract-url-variable-names.js","../node_modules/.pnpm/@octokit+endpoint@9.0.0/node_modules/@octokit/endpoint/dist-src/util/omit.js","../node_modules/.pnpm/@octokit+endpoint@9.0.0/node_modules/@octokit/endpoint/dist-src/util/url-template.js","../node_modules/.pnpm/@octokit+endpoint@9.0.0/node_modules/@octokit/endpoint/dist-src/parse.js","../node_modules/.pnpm/@octokit+endpoint@9.0.0/node_modules/@octokit/endpoint/dist-src/endpoint-with-defaults.js","../node_modules/.pnpm/@octokit+endpoint@9.0.0/node_modules/@octokit/endpoint/dist-src/with-defaults.js","../node_modules/.pnpm/@octokit+endpoint@9.0.0/node_modules/@octokit/endpoint/dist-src/index.js","../node_modules/.pnpm/@octokit+request@8.1.1/node_modules/@octokit/request/dist-src/index.js","../node_modules/.pnpm/@octokit+request@8.1.1/node_modules/@octokit/request/dist-src/version.js","../node_modules/.pnpm/@octokit+request@8.1.1/node_modules/@octokit/request/dist-src/fetch-wrapper.js","../node_modules/.pnpm/@octokit+request-error@5.0.0/node_modules/@octokit/request-error/dist-src/index.js","../node_modules/.pnpm/@octokit+request@8.1.1/node_modules/@octokit/request/dist-src/get-buffer-response.js","../node_modules/.pnpm/@octokit+request@8.1.1/node_modules/@octokit/request/dist-src/with-defaults.js","../node_modules/.pnpm/@octokit+graphql@7.0.1/node_modules/@octokit/graphql/dist-web/index.js","../node_modules/.pnpm/@octokit+auth-token@4.0.0/node_modules/@octokit/auth-token/dist-src/auth.js","../node_modules/.pnpm/@octokit+auth-token@4.0.0/node_modules/@octokit/auth-token/dist-src/with-authorization-prefix.js","../node_modules/.pnpm/@octokit+auth-token@4.0.0/node_modules/@octokit/auth-token/dist-src/hook.js","../node_modules/.pnpm/@octokit+auth-token@4.0.0/node_modules/@octokit/auth-token/dist-src/index.js","../node_modules/.pnpm/@octokit+plugin-paginate-graphql@4.0.0_@octokit+core@5.0.0/node_modules/@octokit/plugin-paginate-graphql/dist-src/errors.js","../node_modules/.pnpm/@octokit+plugin-paginate-graphql@4.0.0_@octokit+core@5.0.0/node_modules/@octokit/plugin-paginate-graphql/dist-src/object-helpers.js","../node_modules/.pnpm/@octokit+plugin-paginate-graphql@4.0.0_@octokit+core@5.0.0/node_modules/@octokit/plugin-paginate-graphql/dist-src/extract-page-info.js","../node_modules/.pnpm/@octokit+plugin-paginate-graphql@4.0.0_@octokit+core@5.0.0/node_modules/@octokit/plugin-paginate-graphql/dist-src/page-info.js","../node_modules/.pnpm/@octokit+plugin-paginate-graphql@4.0.0_@octokit+core@5.0.0/node_modules/@octokit/plugin-paginate-graphql/dist-src/iterator.js","../node_modules/.pnpm/@octokit+plugin-paginate-graphql@4.0.0_@octokit+core@5.0.0/node_modules/@octokit/plugin-paginate-graphql/dist-src/merge-responses.js","../node_modules/.pnpm/@octokit+plugin-paginate-graphql@4.0.0_@octokit+core@5.0.0/node_modules/@octokit/plugin-paginate-graphql/dist-src/paginate.js","../node_modules/.pnpm/@octokit+plugin-paginate-graphql@4.0.0_@octokit+core@5.0.0/node_modules/@octokit/plugin-paginate-graphql/dist-src/index.js","../node_modules/.pnpm/node-fetch@3.3.2/node_modules/node-fetch/src/index.js","../node_modules/.pnpm/data-uri-to-buffer@4.0.1/node_modules/data-uri-to-buffer/src/index.ts","../node_modules/.pnpm/node-fetch@3.3.2/node_modules/node-fetch/src/body.js","../node_modules/.pnpm/node-fetch@3.3.2/node_modules/node-fetch/src/errors/base.js","../node_modules/.pnpm/node-fetch@3.3.2/node_modules/node-fetch/src/errors/fetch-error.js","../node_modules/.pnpm/node-fetch@3.3.2/node_modules/node-fetch/src/utils/is.js","../node_modules/.pnpm/node-fetch@3.3.2/node_modules/node-fetch/src/headers.js","../node_modules/.pnpm/node-fetch@3.3.2/node_modules/node-fetch/src/utils/is-redirect.js","../node_modules/.pnpm/node-fetch@3.3.2/node_modules/node-fetch/src/response.js","../node_modules/.pnpm/node-fetch@3.3.2/node_modules/node-fetch/src/request.js","../node_modules/.pnpm/node-fetch@3.3.2/node_modules/node-fetch/src/utils/get-search.js","../node_modules/.pnpm/node-fetch@3.3.2/node_modules/node-fetch/src/utils/referrer.js","../node_modules/.pnpm/node-fetch@3.3.2/node_modules/node-fetch/src/errors/abort-error.js","../src/get-octokit.ts","../src/get-inputs.ts"],"sourcesContent":[null,null,"'use strict';\n\nvar net = require('net');\nvar tls = require('tls');\nvar http = require('http');\nvar https = require('https');\nvar events = require('events');\nvar assert = require('assert');\nvar util = require('util');\n\n\nexports.httpOverHttp = httpOverHttp;\nexports.httpsOverHttp = httpsOverHttp;\nexports.httpOverHttps = httpOverHttps;\nexports.httpsOverHttps = httpsOverHttps;\n\n\nfunction httpOverHttp(options) {\n var agent = new TunnelingAgent(options);\n agent.request = http.request;\n return agent;\n}\n\nfunction httpsOverHttp(options) {\n var agent = new TunnelingAgent(options);\n agent.request = http.request;\n agent.createSocket = createSecureSocket;\n agent.defaultPort = 443;\n return agent;\n}\n\nfunction httpOverHttps(options) {\n var agent = new TunnelingAgent(options);\n agent.request = https.request;\n return agent;\n}\n\nfunction httpsOverHttps(options) {\n var agent = new TunnelingAgent(options);\n agent.request = https.request;\n agent.createSocket = createSecureSocket;\n agent.defaultPort = 443;\n return agent;\n}\n\n\nfunction TunnelingAgent(options) {\n var self = this;\n self.options = options || {};\n self.proxyOptions = self.options.proxy || {};\n self.maxSockets = self.options.maxSockets || http.Agent.defaultMaxSockets;\n self.requests = [];\n self.sockets = [];\n\n self.on('free', function onFree(socket, host, port, localAddress) {\n var options = toOptions(host, port, localAddress);\n for (var i = 0, len = self.requests.length; i < len; ++i) {\n var pending = self.requests[i];\n if (pending.host === options.host && pending.port === options.port) {\n // Detect the request to connect same origin server,\n // reuse the connection.\n self.requests.splice(i, 1);\n pending.request.onSocket(socket);\n return;\n }\n }\n socket.destroy();\n self.removeSocket(socket);\n });\n}\nutil.inherits(TunnelingAgent, events.EventEmitter);\n\nTunnelingAgent.prototype.addRequest = function addRequest(req, host, port, localAddress) {\n var self = this;\n var options = mergeOptions({request: req}, self.options, toOptions(host, port, localAddress));\n\n if (self.sockets.length >= this.maxSockets) {\n // We are over limit so we'll add it to the queue.\n self.requests.push(options);\n return;\n }\n\n // If we are under maxSockets create a new one.\n self.createSocket(options, function(socket) {\n socket.on('free', onFree);\n socket.on('close', onCloseOrRemove);\n socket.on('agentRemove', onCloseOrRemove);\n req.onSocket(socket);\n\n function onFree() {\n self.emit('free', socket, options);\n }\n\n function onCloseOrRemove(err) {\n self.removeSocket(socket);\n socket.removeListener('free', onFree);\n socket.removeListener('close', onCloseOrRemove);\n socket.removeListener('agentRemove', onCloseOrRemove);\n }\n });\n};\n\nTunnelingAgent.prototype.createSocket = function createSocket(options, cb) {\n var self = this;\n var placeholder = {};\n self.sockets.push(placeholder);\n\n var connectOptions = mergeOptions({}, self.proxyOptions, {\n method: 'CONNECT',\n path: options.host + ':' + options.port,\n agent: false,\n headers: {\n host: options.host + ':' + options.port\n }\n });\n if (options.localAddress) {\n connectOptions.localAddress = options.localAddress;\n }\n if (connectOptions.proxyAuth) {\n connectOptions.headers = connectOptions.headers || {};\n connectOptions.headers['Proxy-Authorization'] = 'Basic ' +\n new Buffer(connectOptions.proxyAuth).toString('base64');\n }\n\n debug('making CONNECT request');\n var connectReq = self.request(connectOptions);\n connectReq.useChunkedEncodingByDefault = false; // for v0.6\n connectReq.once('response', onResponse); // for v0.6\n connectReq.once('upgrade', onUpgrade); // for v0.6\n connectReq.once('connect', onConnect); // for v0.7 or later\n connectReq.once('error', onError);\n connectReq.end();\n\n function onResponse(res) {\n // Very hacky. This is necessary to avoid http-parser leaks.\n res.upgrade = true;\n }\n\n function onUpgrade(res, socket, head) {\n // Hacky.\n process.nextTick(function() {\n onConnect(res, socket, head);\n });\n }\n\n function onConnect(res, socket, head) {\n connectReq.removeAllListeners();\n socket.removeAllListeners();\n\n if (res.statusCode !== 200) {\n debug('tunneling socket could not be established, statusCode=%d',\n res.statusCode);\n socket.destroy();\n var error = new Error('tunneling socket could not be established, ' +\n 'statusCode=' + res.statusCode);\n error.code = 'ECONNRESET';\n options.request.emit('error', error);\n self.removeSocket(placeholder);\n return;\n }\n if (head.length > 0) {\n debug('got illegal response body from proxy');\n socket.destroy();\n var error = new Error('got illegal response body from proxy');\n error.code = 'ECONNRESET';\n options.request.emit('error', error);\n self.removeSocket(placeholder);\n return;\n }\n debug('tunneling connection has established');\n self.sockets[self.sockets.indexOf(placeholder)] = socket;\n return cb(socket);\n }\n\n function onError(cause) {\n connectReq.removeAllListeners();\n\n debug('tunneling socket could not be established, cause=%s\\n',\n cause.message, cause.stack);\n var error = new Error('tunneling socket could not be established, ' +\n 'cause=' + cause.message);\n error.code = 'ECONNRESET';\n options.request.emit('error', error);\n self.removeSocket(placeholder);\n }\n};\n\nTunnelingAgent.prototype.removeSocket = function removeSocket(socket) {\n var pos = this.sockets.indexOf(socket)\n if (pos === -1) {\n return;\n }\n this.sockets.splice(pos, 1);\n\n var pending = this.requests.shift();\n if (pending) {\n // If we have pending requests and a socket gets closed a new one\n // needs to be created to take over in the pool for the one that closed.\n this.createSocket(pending, function(socket) {\n pending.request.onSocket(socket);\n });\n }\n};\n\nfunction createSecureSocket(options, cb) {\n var self = this;\n TunnelingAgent.prototype.createSocket.call(self, options, function(socket) {\n var hostHeader = options.request.getHeader('host');\n var tlsOptions = mergeOptions({}, self.options, {\n socket: socket,\n servername: hostHeader ? hostHeader.replace(/:.*$/, '') : options.host\n });\n\n // 0 is dummy port for v0.6\n var secureSocket = tls.connect(0, tlsOptions);\n self.sockets[self.sockets.indexOf(socket)] = secureSocket;\n cb(secureSocket);\n });\n}\n\n\nfunction toOptions(host, port, localAddress) {\n if (typeof host === 'string') { // since v0.10\n return {\n host: host,\n port: port,\n localAddress: localAddress\n };\n }\n return host; // for v0.11 or later\n}\n\nfunction mergeOptions(target) {\n for (var i = 1, len = arguments.length; i < len; ++i) {\n var overrides = arguments[i];\n if (typeof overrides === 'object') {\n var keys = Object.keys(overrides);\n for (var j = 0, keyLen = keys.length; j < keyLen; ++j) {\n var k = keys[j];\n if (overrides[k] !== undefined) {\n target[k] = overrides[k];\n }\n }\n }\n }\n return target;\n}\n\n\nvar debug;\nif (process.env.NODE_DEBUG && /\\btunnel\\b/.test(process.env.NODE_DEBUG)) {\n debug = function() {\n var args = Array.prototype.slice.call(arguments);\n if (typeof args[0] === 'string') {\n args[0] = 'TUNNEL: ' + args[0];\n } else {\n args.unshift('TUNNEL:');\n }\n console.error.apply(console, args);\n }\n} else {\n debug = function() {};\n}\nexports.debug = debug; // for test\n","module.exports = require('./lib/tunnel');\n",null,null,"export function getUserAgent() {\n if (typeof navigator === \"object\" && \"userAgent\" in navigator) {\n return navigator.userAgent;\n }\n if (typeof process === \"object\" && \"version\" in process) {\n return `Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`;\n }\n return \"\";\n}\n","module.exports = register;\n\nfunction register(state, name, method, options) {\n if (typeof method !== \"function\") {\n throw new Error(\"method for before hook must be a function\");\n }\n\n if (!options) {\n options = {};\n }\n\n if (Array.isArray(name)) {\n return name.reverse().reduce(function (callback, name) {\n return register.bind(null, state, name, callback, options);\n }, method)();\n }\n\n return Promise.resolve().then(function () {\n if (!state.registry[name]) {\n return method(options);\n }\n\n return state.registry[name].reduce(function (method, registered) {\n return registered.hook.bind(null, method, options);\n }, method)();\n });\n}\n","module.exports = addHook;\n\nfunction addHook(state, kind, name, hook) {\n var orig = hook;\n if (!state.registry[name]) {\n state.registry[name] = [];\n }\n\n if (kind === \"before\") {\n hook = function (method, options) {\n return Promise.resolve()\n .then(orig.bind(null, options))\n .then(method.bind(null, options));\n };\n }\n\n if (kind === \"after\") {\n hook = function (method, options) {\n var result;\n return Promise.resolve()\n .then(method.bind(null, options))\n .then(function (result_) {\n result = result_;\n return orig(result, options);\n })\n .then(function () {\n return result;\n });\n };\n }\n\n if (kind === \"error\") {\n hook = function (method, options) {\n return Promise.resolve()\n .then(method.bind(null, options))\n .catch(function (error) {\n return orig(error, options);\n });\n };\n }\n\n state.registry[name].push({\n hook: hook,\n orig: orig,\n });\n}\n","module.exports = removeHook;\n\nfunction removeHook(state, name, method) {\n if (!state.registry[name]) {\n return;\n }\n\n var index = state.registry[name]\n .map(function (registered) {\n return registered.orig;\n })\n .indexOf(method);\n\n if (index === -1) {\n return;\n }\n\n state.registry[name].splice(index, 1);\n}\n","var register = require(\"./lib/register\");\nvar addHook = require(\"./lib/add\");\nvar removeHook = require(\"./lib/remove\");\n\n// bind with array of arguments: https://stackoverflow.com/a/21792913\nvar bind = Function.bind;\nvar bindable = bind.bind(bind);\n\nfunction bindApi(hook, state, name) {\n var removeHookRef = bindable(removeHook, null).apply(\n null,\n name ? [state, name] : [state]\n );\n hook.api = { remove: removeHookRef };\n hook.remove = removeHookRef;\n [\"before\", \"error\", \"after\", \"wrap\"].forEach(function (kind) {\n var args = name ? [state, kind, name] : [state, kind];\n hook[kind] = hook.api[kind] = bindable(addHook, null).apply(null, args);\n });\n}\n\nfunction HookSingular() {\n var singularHookName = \"h\";\n var singularHookState = {\n registry: {},\n };\n var singularHook = register.bind(null, singularHookState, singularHookName);\n bindApi(singularHook, singularHookState, singularHookName);\n return singularHook;\n}\n\nfunction HookCollection() {\n var state = {\n registry: {},\n };\n\n var hook = register.bind(null, state);\n bindApi(hook, state);\n\n return hook;\n}\n\nvar collectionHookDeprecationMessageDisplayed = false;\nfunction Hook() {\n if (!collectionHookDeprecationMessageDisplayed) {\n console.warn(\n '[before-after-hook]: \"Hook()\" repurposing warning, use \"Hook.Collection()\". Read more: https://git.io/upgrade-before-after-hook-to-1.4'\n );\n collectionHookDeprecationMessageDisplayed = true;\n }\n return HookCollection();\n}\n\nHook.Singular = HookSingular.bind();\nHook.Collection = HookCollection.bind();\n\nmodule.exports = Hook;\n// expose constructors as a named property for TypeScript\nmodule.exports.Hook = Hook;\nmodule.exports.Singular = Hook.Singular;\nmodule.exports.Collection = Hook.Collection;\n","/*!\n * is-plain-object \n *\n * Copyright (c) 2014-2017, Jon Schlinkert.\n * Released under the MIT License.\n */\n\nfunction isObject(o) {\n return Object.prototype.toString.call(o) === '[object Object]';\n}\n\nfunction isPlainObject(o) {\n var ctor,prot;\n\n if (isObject(o) === false) return false;\n\n // If has modified constructor\n ctor = o.constructor;\n if (ctor === undefined) return true;\n\n // If has modified prototype\n prot = ctor.prototype;\n if (isObject(prot) === false) return false;\n\n // If constructor does not have an Object-specific method\n if (prot.hasOwnProperty('isPrototypeOf') === false) {\n return false;\n }\n\n // Most likely a plain Object\n return true;\n}\n\nexport { isPlainObject };\n","export function lowercaseKeys(object) {\n if (!object) {\n return {};\n }\n return Object.keys(object).reduce((newObj, key) => {\n newObj[key.toLowerCase()] = object[key];\n return newObj;\n }, {});\n}\n","import { isPlainObject } from \"is-plain-object\";\nexport function mergeDeep(defaults, options) {\n const result = Object.assign({}, defaults);\n Object.keys(options).forEach((key) => {\n if (isPlainObject(options[key])) {\n if (!(key in defaults))\n Object.assign(result, { [key]: options[key] });\n else\n result[key] = mergeDeep(defaults[key], options[key]);\n }\n else {\n Object.assign(result, { [key]: options[key] });\n }\n });\n return result;\n}\n","export function removeUndefinedProperties(obj) {\n for (const key in obj) {\n if (obj[key] === undefined) {\n delete obj[key];\n }\n }\n return obj;\n}\n","import { lowercaseKeys } from \"./util/lowercase-keys\";\nimport { mergeDeep } from \"./util/merge-deep\";\nimport { removeUndefinedProperties } from \"./util/remove-undefined-properties\";\nexport function merge(defaults, route, options) {\n if (typeof route === \"string\") {\n let [method, url] = route.split(\" \");\n options = Object.assign(url ? { method, url } : { url: method }, options);\n }\n else {\n options = Object.assign({}, route);\n }\n // lowercase header names before merging with defaults to avoid duplicates\n options.headers = lowercaseKeys(options.headers);\n // remove properties with undefined values before merging\n removeUndefinedProperties(options);\n removeUndefinedProperties(options.headers);\n const mergedOptions = mergeDeep(defaults || {}, options);\n // mediaType.previews arrays are merged, instead of overwritten\n if (defaults && defaults.mediaType.previews.length) {\n mergedOptions.mediaType.previews = defaults.mediaType.previews\n .filter((preview) => !mergedOptions.mediaType.previews.includes(preview))\n .concat(mergedOptions.mediaType.previews);\n }\n mergedOptions.mediaType.previews = mergedOptions.mediaType.previews.map((preview) => preview.replace(/-preview/, \"\"));\n return mergedOptions;\n}\n","export function addQueryParameters(url, parameters) {\n const separator = /\\?/.test(url) ? \"&\" : \"?\";\n const names = Object.keys(parameters);\n if (names.length === 0) {\n return url;\n }\n return (url +\n separator +\n names\n .map((name) => {\n if (name === \"q\") {\n return (\"q=\" + parameters.q.split(\"+\").map(encodeURIComponent).join(\"+\"));\n }\n return `${name}=${encodeURIComponent(parameters[name])}`;\n })\n .join(\"&\"));\n}\n","const urlVariableRegex = /\\{[^}]+\\}/g;\nfunction removeNonChars(variableName) {\n return variableName.replace(/^\\W+|\\W+$/g, \"\").split(/,/);\n}\nexport function extractUrlVariableNames(url) {\n const matches = url.match(urlVariableRegex);\n if (!matches) {\n return [];\n }\n return matches.map(removeNonChars).reduce((a, b) => a.concat(b), []);\n}\n","export function omit(object, keysToOmit) {\n return Object.keys(object)\n .filter((option) => !keysToOmit.includes(option))\n .reduce((obj, key) => {\n obj[key] = object[key];\n return obj;\n }, {});\n}\n","// Based on https://github.com/bramstein/url-template, licensed under BSD\n// TODO: create separate package.\n//\n// Copyright (c) 2012-2014, Bram Stein\n// All rights reserved.\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions\n// are met:\n// 1. Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n// 2. Redistributions in binary form must reproduce the above copyright\n// notice, this list of conditions and the following disclaimer in the\n// documentation and/or other materials provided with the distribution.\n// 3. The name of the author may not be used to endorse or promote products\n// derived from this software without specific prior written permission.\n// THIS SOFTWARE IS PROVIDED BY THE AUTHOR \"AS IS\" AND ANY EXPRESS OR IMPLIED\n// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO\n// EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,\n// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,\n// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY\n// 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,\n// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n/* istanbul ignore file */\nfunction encodeReserved(str) {\n return str\n .split(/(%[0-9A-Fa-f]{2})/g)\n .map(function (part) {\n if (!/%[0-9A-Fa-f]/.test(part)) {\n part = encodeURI(part).replace(/%5B/g, \"[\").replace(/%5D/g, \"]\");\n }\n return part;\n })\n .join(\"\");\n}\nfunction encodeUnreserved(str) {\n return encodeURIComponent(str).replace(/[!'()*]/g, function (c) {\n return \"%\" + c.charCodeAt(0).toString(16).toUpperCase();\n });\n}\nfunction encodeValue(operator, value, key) {\n value =\n operator === \"+\" || operator === \"#\"\n ? encodeReserved(value)\n : encodeUnreserved(value);\n if (key) {\n return encodeUnreserved(key) + \"=\" + value;\n }\n else {\n return value;\n }\n}\nfunction isDefined(value) {\n return value !== undefined && value !== null;\n}\nfunction isKeyOperator(operator) {\n return operator === \";\" || operator === \"&\" || operator === \"?\";\n}\nfunction getValues(context, operator, key, modifier) {\n var value = context[key], result = [];\n if (isDefined(value) && value !== \"\") {\n if (typeof value === \"string\" ||\n typeof value === \"number\" ||\n typeof value === \"boolean\") {\n value = value.toString();\n if (modifier && modifier !== \"*\") {\n value = value.substring(0, parseInt(modifier, 10));\n }\n result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : \"\"));\n }\n else {\n if (modifier === \"*\") {\n if (Array.isArray(value)) {\n value.filter(isDefined).forEach(function (value) {\n result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : \"\"));\n });\n }\n else {\n Object.keys(value).forEach(function (k) {\n if (isDefined(value[k])) {\n result.push(encodeValue(operator, value[k], k));\n }\n });\n }\n }\n else {\n const tmp = [];\n if (Array.isArray(value)) {\n value.filter(isDefined).forEach(function (value) {\n tmp.push(encodeValue(operator, value));\n });\n }\n else {\n Object.keys(value).forEach(function (k) {\n if (isDefined(value[k])) {\n tmp.push(encodeUnreserved(k));\n tmp.push(encodeValue(operator, value[k].toString()));\n }\n });\n }\n if (isKeyOperator(operator)) {\n result.push(encodeUnreserved(key) + \"=\" + tmp.join(\",\"));\n }\n else if (tmp.length !== 0) {\n result.push(tmp.join(\",\"));\n }\n }\n }\n }\n else {\n if (operator === \";\") {\n if (isDefined(value)) {\n result.push(encodeUnreserved(key));\n }\n }\n else if (value === \"\" && (operator === \"&\" || operator === \"?\")) {\n result.push(encodeUnreserved(key) + \"=\");\n }\n else if (value === \"\") {\n result.push(\"\");\n }\n }\n return result;\n}\nexport function parseUrl(template) {\n return {\n expand: expand.bind(null, template),\n };\n}\nfunction expand(template, context) {\n var operators = [\"+\", \"#\", \".\", \"/\", \";\", \"?\", \"&\"];\n return template.replace(/\\{([^\\{\\}]+)\\}|([^\\{\\}]+)/g, function (_, expression, literal) {\n if (expression) {\n let operator = \"\";\n const values = [];\n if (operators.indexOf(expression.charAt(0)) !== -1) {\n operator = expression.charAt(0);\n expression = expression.substr(1);\n }\n expression.split(/,/g).forEach(function (variable) {\n var tmp = /([^:\\*]*)(?::(\\d+)|(\\*))?/.exec(variable);\n values.push(getValues(context, operator, tmp[1], tmp[2] || tmp[3]));\n });\n if (operator && operator !== \"+\") {\n var separator = \",\";\n if (operator === \"?\") {\n separator = \"&\";\n }\n else if (operator !== \"#\") {\n separator = operator;\n }\n return (values.length !== 0 ? operator : \"\") + values.join(separator);\n }\n else {\n return values.join(\",\");\n }\n }\n else {\n return encodeReserved(literal);\n }\n });\n}\n","import { addQueryParameters } from \"./util/add-query-parameters\";\nimport { extractUrlVariableNames } from \"./util/extract-url-variable-names\";\nimport { omit } from \"./util/omit\";\nimport { parseUrl } from \"./util/url-template\";\nexport function parse(options) {\n // https://fetch.spec.whatwg.org/#methods\n let method = options.method.toUpperCase();\n // replace :varname with {varname} to make it RFC 6570 compatible\n let url = (options.url || \"/\").replace(/:([a-z]\\w+)/g, \"{$1}\");\n let headers = Object.assign({}, options.headers);\n let body;\n let parameters = omit(options, [\n \"method\",\n \"baseUrl\",\n \"url\",\n \"headers\",\n \"request\",\n \"mediaType\",\n ]);\n // extract variable names from URL to calculate remaining variables later\n const urlVariableNames = extractUrlVariableNames(url);\n url = parseUrl(url).expand(parameters);\n if (!/^http/.test(url)) {\n url = options.baseUrl + url;\n }\n const omittedParameters = Object.keys(options)\n .filter((option) => urlVariableNames.includes(option))\n .concat(\"baseUrl\");\n const remainingParameters = omit(parameters, omittedParameters);\n const isBinaryRequest = /application\\/octet-stream/i.test(headers.accept);\n if (!isBinaryRequest) {\n if (options.mediaType.format) {\n // e.g. application/vnd.github.v3+json => application/vnd.github.v3.raw\n headers.accept = headers.accept\n .split(/,/)\n .map((preview) => preview.replace(/application\\/vnd(\\.\\w+)(\\.v3)?(\\.\\w+)?(\\+json)?$/, `application/vnd$1$2.${options.mediaType.format}`))\n .join(\",\");\n }\n if (options.mediaType.previews.length) {\n const previewsFromAcceptHeader = headers.accept.match(/[\\w-]+(?=-preview)/g) || [];\n headers.accept = previewsFromAcceptHeader\n .concat(options.mediaType.previews)\n .map((preview) => {\n const format = options.mediaType.format\n ? `.${options.mediaType.format}`\n : \"+json\";\n return `application/vnd.github.${preview}-preview${format}`;\n })\n .join(\",\");\n }\n }\n // for GET/HEAD requests, set URL query parameters from remaining parameters\n // for PATCH/POST/PUT/DELETE requests, set request body from remaining parameters\n if ([\"GET\", \"HEAD\"].includes(method)) {\n url = addQueryParameters(url, remainingParameters);\n }\n else {\n if (\"data\" in remainingParameters) {\n body = remainingParameters.data;\n }\n else {\n if (Object.keys(remainingParameters).length) {\n body = remainingParameters;\n }\n else {\n headers[\"content-length\"] = 0;\n }\n }\n }\n // default content-type for JSON if body is set\n if (!headers[\"content-type\"] && typeof body !== \"undefined\") {\n headers[\"content-type\"] = \"application/json; charset=utf-8\";\n }\n // GitHub expects 'content-length: 0' header for PUT/PATCH requests without body.\n // fetch does not allow to set `content-length` header, but we can set body to an empty string\n if ([\"PATCH\", \"PUT\"].includes(method) && typeof body === \"undefined\") {\n body = \"\";\n }\n // Only return body/request keys if present\n return Object.assign({ method, url, headers }, typeof body !== \"undefined\" ? { body } : null, options.request ? { request: options.request } : null);\n}\n","import { merge } from \"./merge\";\nimport { parse } from \"./parse\";\nexport function endpointWithDefaults(defaults, route, options) {\n return parse(merge(defaults, route, options));\n}\n","import { endpointWithDefaults } from \"./endpoint-with-defaults\";\nimport { merge } from \"./merge\";\nimport { parse } from \"./parse\";\nexport function withDefaults(oldDefaults, newDefaults) {\n const DEFAULTS = merge(oldDefaults, newDefaults);\n const endpoint = endpointWithDefaults.bind(null, DEFAULTS);\n return Object.assign(endpoint, {\n DEFAULTS,\n defaults: withDefaults.bind(null, DEFAULTS),\n merge: merge.bind(null, DEFAULTS),\n parse,\n });\n}\n","export const VERSION = \"6.0.12\";\n","import { getUserAgent } from \"universal-user-agent\";\nimport { VERSION } from \"./version\";\nconst userAgent = `octokit-endpoint.js/${VERSION} ${getUserAgent()}`;\n// DEFAULTS has all properties set that EndpointOptions has, except url.\n// So we use RequestParameters and add method as additional required property.\nexport const DEFAULTS = {\n method: \"GET\",\n baseUrl: \"https://api.github.com\",\n headers: {\n accept: \"application/vnd.github.v3+json\",\n \"user-agent\": userAgent,\n },\n mediaType: {\n format: \"\",\n previews: [],\n },\n};\n","import { withDefaults } from \"./with-defaults\";\nimport { DEFAULTS } from \"./defaults\";\nexport const endpoint = withDefaults(null, DEFAULTS);\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\";\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","[[[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\"]]","\"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","\"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\";\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","import Stream from 'stream';\nimport http from 'http';\nimport Url from 'url';\nimport whatwgUrl from 'whatwg-url';\nimport https from 'https';\nimport zlib from '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\nexport default fetch;\nexport { Headers, Request, Response, FetchError };\n","class Deprecation extends Error {\n constructor(message) {\n super(message); // Maintains proper stack trace (only available on V8)\n\n /* istanbul ignore next */\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n\n this.name = 'Deprecation';\n }\n\n}\n\nexport { Deprecation };\n","// Returns a wrapper function that returns a wrapped callback\n// The wrapper function should do some stuff, and return a\n// presumably different callback function.\n// This makes sure that own properties are retained, so that\n// decorations and such are not lost along the way.\nmodule.exports = wrappy\nfunction wrappy (fn, cb) {\n if (fn && cb) return wrappy(fn)(cb)\n\n if (typeof fn !== 'function')\n throw new TypeError('need wrapper function')\n\n Object.keys(fn).forEach(function (k) {\n wrapper[k] = fn[k]\n })\n\n return wrapper\n\n function wrapper() {\n var args = new Array(arguments.length)\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i]\n }\n var ret = fn.apply(this, args)\n var cb = args[args.length-1]\n if (typeof ret === 'function' && ret !== cb) {\n Object.keys(cb).forEach(function (k) {\n ret[k] = cb[k]\n })\n }\n return ret\n }\n}\n","var wrappy = require('wrappy')\nmodule.exports = wrappy(once)\nmodule.exports.strict = wrappy(onceStrict)\n\nonce.proto = once(function () {\n Object.defineProperty(Function.prototype, 'once', {\n value: function () {\n return once(this)\n },\n configurable: true\n })\n\n Object.defineProperty(Function.prototype, 'onceStrict', {\n value: function () {\n return onceStrict(this)\n },\n configurable: true\n })\n})\n\nfunction once (fn) {\n var f = function () {\n if (f.called) return f.value\n f.called = true\n return f.value = fn.apply(this, arguments)\n }\n f.called = false\n return f\n}\n\nfunction onceStrict (fn) {\n var f = function () {\n if (f.called)\n throw new Error(f.onceError)\n f.called = true\n return f.value = fn.apply(this, arguments)\n }\n var name = fn.name || 'Function wrapped with `once`'\n f.onceError = name + \" shouldn't be called more than once\"\n f.called = false\n return f\n}\n","import { Deprecation } from \"deprecation\";\nimport once from \"once\";\nconst logOnceCode = once((deprecation) => console.warn(deprecation));\nconst logOnceHeaders = once((deprecation) => console.warn(deprecation));\n/**\n * Error with extra properties to help with debugging\n */\nexport class RequestError extends Error {\n constructor(message, statusCode, options) {\n super(message);\n // Maintains proper stack trace (only available on V8)\n /* istanbul ignore next */\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n this.name = \"HttpError\";\n this.status = statusCode;\n let headers;\n if (\"headers\" in options && typeof options.headers !== \"undefined\") {\n headers = options.headers;\n }\n if (\"response\" in options) {\n this.response = options.response;\n headers = options.response.headers;\n }\n // redact request credentials without mutating original request options\n const requestCopy = Object.assign({}, options.request);\n if (options.request.headers.authorization) {\n requestCopy.headers = Object.assign({}, options.request.headers, {\n authorization: options.request.headers.authorization.replace(/ .*$/, \" [REDACTED]\"),\n });\n }\n requestCopy.url = requestCopy.url\n // client_id & client_secret can be passed as URL query parameters to increase rate limit\n // see https://developer.github.com/v3/#increasing-the-unauthenticated-rate-limit-for-oauth-applications\n .replace(/\\bclient_secret=\\w+/g, \"client_secret=[REDACTED]\")\n // OAuth tokens can be passed as URL query parameters, although it is not recommended\n // see https://developer.github.com/v3/#oauth2-token-sent-in-a-header\n .replace(/\\baccess_token=\\w+/g, \"access_token=[REDACTED]\");\n this.request = requestCopy;\n // deprecations\n Object.defineProperty(this, \"code\", {\n get() {\n logOnceCode(new Deprecation(\"[@octokit/request-error] `error.code` is deprecated, use `error.status`.\"));\n return statusCode;\n },\n });\n Object.defineProperty(this, \"headers\", {\n get() {\n logOnceHeaders(new Deprecation(\"[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`.\"));\n return headers || {};\n },\n });\n }\n}\n","export const VERSION = \"5.6.3\";\n","export default function getBufferResponse(response) {\n return response.arrayBuffer();\n}\n","import { isPlainObject } from \"is-plain-object\";\nimport nodeFetch from \"node-fetch\";\nimport { RequestError } from \"@octokit/request-error\";\nimport getBuffer from \"./get-buffer-response\";\nexport default function fetchWrapper(requestOptions) {\n const log = requestOptions.request && requestOptions.request.log\n ? requestOptions.request.log\n : console;\n if (isPlainObject(requestOptions.body) ||\n Array.isArray(requestOptions.body)) {\n requestOptions.body = JSON.stringify(requestOptions.body);\n }\n let headers = {};\n let status;\n let url;\n const fetch = (requestOptions.request && requestOptions.request.fetch) || nodeFetch;\n return fetch(requestOptions.url, Object.assign({\n method: requestOptions.method,\n body: requestOptions.body,\n headers: requestOptions.headers,\n redirect: requestOptions.redirect,\n }, \n // `requestOptions.request.agent` type is incompatible\n // see https://github.com/octokit/types.ts/pull/264\n requestOptions.request))\n .then(async (response) => {\n url = response.url;\n status = response.status;\n for (const keyAndValue of response.headers) {\n headers[keyAndValue[0]] = keyAndValue[1];\n }\n if (\"deprecation\" in headers) {\n const matches = headers.link && headers.link.match(/<([^>]+)>; rel=\"deprecation\"/);\n const deprecationLink = matches && matches.pop();\n log.warn(`[@octokit/request] \"${requestOptions.method} ${requestOptions.url}\" is deprecated. It is scheduled to be removed on ${headers.sunset}${deprecationLink ? `. See ${deprecationLink}` : \"\"}`);\n }\n if (status === 204 || status === 205) {\n return;\n }\n // GitHub API returns 200 for HEAD requests\n if (requestOptions.method === \"HEAD\") {\n if (status < 400) {\n return;\n }\n throw new RequestError(response.statusText, status, {\n response: {\n url,\n status,\n headers,\n data: undefined,\n },\n request: requestOptions,\n });\n }\n if (status === 304) {\n throw new RequestError(\"Not modified\", status, {\n response: {\n url,\n status,\n headers,\n data: await getResponseData(response),\n },\n request: requestOptions,\n });\n }\n if (status >= 400) {\n const data = await getResponseData(response);\n const error = new RequestError(toErrorMessage(data), status, {\n response: {\n url,\n status,\n headers,\n data,\n },\n request: requestOptions,\n });\n throw error;\n }\n return getResponseData(response);\n })\n .then((data) => {\n return {\n status,\n url,\n headers,\n data,\n };\n })\n .catch((error) => {\n if (error instanceof RequestError)\n throw error;\n throw new RequestError(error.message, 500, {\n request: requestOptions,\n });\n });\n}\nasync function getResponseData(response) {\n const contentType = response.headers.get(\"content-type\");\n if (/application\\/json/.test(contentType)) {\n return response.json();\n }\n if (!contentType || /^text\\/|charset=utf-8$/.test(contentType)) {\n return response.text();\n }\n return getBuffer(response);\n}\nfunction toErrorMessage(data) {\n if (typeof data === \"string\")\n return data;\n // istanbul ignore else - just in case\n if (\"message\" in data) {\n if (Array.isArray(data.errors)) {\n return `${data.message}: ${data.errors.map(JSON.stringify).join(\", \")}`;\n }\n return data.message;\n }\n // istanbul ignore next - just in case\n return `Unknown error: ${JSON.stringify(data)}`;\n}\n","import fetchWrapper from \"./fetch-wrapper\";\nexport default function withDefaults(oldEndpoint, newDefaults) {\n const endpoint = oldEndpoint.defaults(newDefaults);\n const newApi = function (route, parameters) {\n const endpointOptions = endpoint.merge(route, parameters);\n if (!endpointOptions.request || !endpointOptions.request.hook) {\n return fetchWrapper(endpoint.parse(endpointOptions));\n }\n const request = (route, parameters) => {\n return fetchWrapper(endpoint.parse(endpoint.merge(route, parameters)));\n };\n Object.assign(request, {\n endpoint,\n defaults: withDefaults.bind(null, endpoint),\n });\n return endpointOptions.request.hook(request, endpointOptions);\n };\n return Object.assign(newApi, {\n endpoint,\n defaults: withDefaults.bind(null, endpoint),\n });\n}\n","import { endpoint } from \"@octokit/endpoint\";\nimport { getUserAgent } from \"universal-user-agent\";\nimport { VERSION } from \"./version\";\nimport withDefaults from \"./with-defaults\";\nexport const request = withDefaults(endpoint, {\n headers: {\n \"user-agent\": `octokit-request.js/${VERSION} ${getUserAgent()}`,\n },\n});\n","export const VERSION = \"4.8.0\";\n","function _buildMessageForResponseErrors(data) {\n return (`Request failed due to following response errors:\\n` +\n data.errors.map((e) => ` - ${e.message}`).join(\"\\n\"));\n}\nexport class GraphqlResponseError extends Error {\n constructor(request, headers, response) {\n super(_buildMessageForResponseErrors(response));\n this.request = request;\n this.headers = headers;\n this.response = response;\n this.name = \"GraphqlResponseError\";\n // Expose the errors and response data in their shorthand properties.\n this.errors = response.errors;\n this.data = response.data;\n // Maintains proper stack trace (only available on V8)\n /* istanbul ignore next */\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n }\n}\n","import { GraphqlResponseError } from \"./error\";\nconst NON_VARIABLE_OPTIONS = [\n \"method\",\n \"baseUrl\",\n \"url\",\n \"headers\",\n \"request\",\n \"query\",\n \"mediaType\",\n];\nconst FORBIDDEN_VARIABLE_OPTIONS = [\"query\", \"method\", \"url\"];\nconst GHES_V3_SUFFIX_REGEX = /\\/api\\/v3\\/?$/;\nexport function graphql(request, query, options) {\n if (options) {\n if (typeof query === \"string\" && \"query\" in options) {\n return Promise.reject(new Error(`[@octokit/graphql] \"query\" cannot be used as variable name`));\n }\n for (const key in options) {\n if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key))\n continue;\n return Promise.reject(new Error(`[@octokit/graphql] \"${key}\" cannot be used as variable name`));\n }\n }\n const parsedOptions = typeof query === \"string\" ? Object.assign({ query }, options) : query;\n const requestOptions = Object.keys(parsedOptions).reduce((result, key) => {\n if (NON_VARIABLE_OPTIONS.includes(key)) {\n result[key] = parsedOptions[key];\n return result;\n }\n if (!result.variables) {\n result.variables = {};\n }\n result.variables[key] = parsedOptions[key];\n return result;\n }, {});\n // workaround for GitHub Enterprise baseUrl set with /api/v3 suffix\n // https://github.com/octokit/auth-app.js/issues/111#issuecomment-657610451\n const baseUrl = parsedOptions.baseUrl || request.endpoint.DEFAULTS.baseUrl;\n if (GHES_V3_SUFFIX_REGEX.test(baseUrl)) {\n requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, \"/api/graphql\");\n }\n return request(requestOptions).then((response) => {\n if (response.data.errors) {\n const headers = {};\n for (const key of Object.keys(response.headers)) {\n headers[key] = response.headers[key];\n }\n throw new GraphqlResponseError(requestOptions, headers, response.data);\n }\n return response.data.data;\n });\n}\n","import { request as Request } from \"@octokit/request\";\nimport { graphql } from \"./graphql\";\nexport function withDefaults(request, newDefaults) {\n const newRequest = request.defaults(newDefaults);\n const newApi = (query, options) => {\n return graphql(newRequest, query, options);\n };\n return Object.assign(newApi, {\n defaults: withDefaults.bind(null, newRequest),\n endpoint: Request.endpoint,\n });\n}\n","import { request } from \"@octokit/request\";\nimport { getUserAgent } from \"universal-user-agent\";\nimport { VERSION } from \"./version\";\nimport { withDefaults } from \"./with-defaults\";\nexport const graphql = withDefaults(request, {\n headers: {\n \"user-agent\": `octokit-graphql.js/${VERSION} ${getUserAgent()}`,\n },\n method: \"POST\",\n url: \"/graphql\",\n});\nexport { GraphqlResponseError } from \"./error\";\nexport function withCustomRequest(customRequest) {\n return withDefaults(customRequest, {\n method: \"POST\",\n url: \"/graphql\",\n });\n}\n","const REGEX_IS_INSTALLATION_LEGACY = /^v1\\./;\nconst REGEX_IS_INSTALLATION = /^ghs_/;\nconst REGEX_IS_USER_TO_SERVER = /^ghu_/;\nexport async function auth(token) {\n const isApp = token.split(/\\./).length === 3;\n const isInstallation = REGEX_IS_INSTALLATION_LEGACY.test(token) ||\n REGEX_IS_INSTALLATION.test(token);\n const isUserToServer = REGEX_IS_USER_TO_SERVER.test(token);\n const tokenType = isApp\n ? \"app\"\n : isInstallation\n ? \"installation\"\n : isUserToServer\n ? \"user-to-server\"\n : \"oauth\";\n return {\n type: \"token\",\n token: token,\n tokenType,\n };\n}\n","/**\n * Prefix token for usage in the Authorization header\n *\n * @param token OAuth token or JSON Web Token\n */\nexport function withAuthorizationPrefix(token) {\n if (token.split(/\\./).length === 3) {\n return `bearer ${token}`;\n }\n return `token ${token}`;\n}\n","import { withAuthorizationPrefix } from \"./with-authorization-prefix\";\nexport async function hook(token, request, route, parameters) {\n const endpoint = request.endpoint.merge(route, parameters);\n endpoint.headers.authorization = withAuthorizationPrefix(token);\n return request(endpoint);\n}\n","import { auth } from \"./auth\";\nimport { hook } from \"./hook\";\nexport const createTokenAuth = function createTokenAuth(token) {\n if (!token) {\n throw new Error(\"[@octokit/auth-token] No token passed to createTokenAuth\");\n }\n if (typeof token !== \"string\") {\n throw new Error(\"[@octokit/auth-token] Token passed to createTokenAuth is not a string\");\n }\n token = token.replace(/^(token|bearer) +/i, \"\");\n return Object.assign(auth.bind(null, token), {\n hook: hook.bind(null, token),\n });\n};\n","export const VERSION = \"3.6.0\";\n","import { getUserAgent } from \"universal-user-agent\";\nimport { Collection } from \"before-after-hook\";\nimport { request } from \"@octokit/request\";\nimport { withCustomRequest } from \"@octokit/graphql\";\nimport { createTokenAuth } from \"@octokit/auth-token\";\nimport { VERSION } from \"./version\";\nexport class Octokit {\n constructor(options = {}) {\n const hook = new Collection();\n const requestDefaults = {\n baseUrl: request.endpoint.DEFAULTS.baseUrl,\n headers: {},\n request: Object.assign({}, options.request, {\n // @ts-ignore internal usage only, no need to type\n hook: hook.bind(null, \"request\"),\n }),\n mediaType: {\n previews: [],\n format: \"\",\n },\n };\n // prepend default user agent with `options.userAgent` if set\n requestDefaults.headers[\"user-agent\"] = [\n options.userAgent,\n `octokit-core.js/${VERSION} ${getUserAgent()}`,\n ]\n .filter(Boolean)\n .join(\" \");\n if (options.baseUrl) {\n requestDefaults.baseUrl = options.baseUrl;\n }\n if (options.previews) {\n requestDefaults.mediaType.previews = options.previews;\n }\n if (options.timeZone) {\n requestDefaults.headers[\"time-zone\"] = options.timeZone;\n }\n this.request = request.defaults(requestDefaults);\n this.graphql = withCustomRequest(this.request).defaults(requestDefaults);\n this.log = Object.assign({\n debug: () => { },\n info: () => { },\n warn: console.warn.bind(console),\n error: console.error.bind(console),\n }, options.log);\n this.hook = hook;\n // (1) If neither `options.authStrategy` nor `options.auth` are set, the `octokit` instance\n // is unauthenticated. The `this.auth()` method is a no-op and no request hook is registered.\n // (2) If only `options.auth` is set, use the default token authentication strategy.\n // (3) If `options.authStrategy` is set then use it and pass in `options.auth`. Always pass own request as many strategies accept a custom request instance.\n // TODO: type `options.auth` based on `options.authStrategy`.\n if (!options.authStrategy) {\n if (!options.auth) {\n // (1)\n this.auth = async () => ({\n type: \"unauthenticated\",\n });\n }\n else {\n // (2)\n const auth = createTokenAuth(options.auth);\n // @ts-ignore ¯\\_(ツ)_/¯\n hook.wrap(\"request\", auth.hook);\n this.auth = auth;\n }\n }\n else {\n const { authStrategy, ...otherOptions } = options;\n const auth = authStrategy(Object.assign({\n request: this.request,\n log: this.log,\n // we pass the current octokit instance as well as its constructor options\n // to allow for authentication strategies that return a new octokit instance\n // that shares the same internal state as the current one. The original\n // requirement for this was the \"event-octokit\" authentication strategy\n // of https://github.com/probot/octokit-auth-probot.\n octokit: this,\n octokitOptions: otherOptions,\n }, options.auth));\n // @ts-ignore ¯\\_(ツ)_/¯\n hook.wrap(\"request\", auth.hook);\n this.auth = auth;\n }\n // apply plugins\n // https://stackoverflow.com/a/16345172\n const classConstructor = this.constructor;\n classConstructor.plugins.forEach((plugin) => {\n Object.assign(this, plugin(this, options));\n });\n }\n static defaults(defaults) {\n const OctokitWithDefaults = class extends this {\n constructor(...args) {\n const options = args[0] || {};\n if (typeof defaults === \"function\") {\n super(defaults(options));\n return;\n }\n super(Object.assign({}, defaults, options, options.userAgent && defaults.userAgent\n ? {\n userAgent: `${options.userAgent} ${defaults.userAgent}`,\n }\n : null));\n }\n };\n return OctokitWithDefaults;\n }\n /**\n * Attach a plugin (or many) to your Octokit instance.\n *\n * @example\n * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...)\n */\n static plugin(...newPlugins) {\n var _a;\n const currentPlugins = this.plugins;\n const NewOctokit = (_a = class extends this {\n },\n _a.plugins = currentPlugins.concat(newPlugins.filter((plugin) => !currentPlugins.includes(plugin))),\n _a);\n return NewOctokit;\n }\n}\nOctokit.VERSION = VERSION;\nOctokit.plugins = [];\n","const Endpoints = {\n actions: {\n addCustomLabelsToSelfHostedRunnerForOrg: [\n \"POST /orgs/{org}/actions/runners/{runner_id}/labels\",\n ],\n addCustomLabelsToSelfHostedRunnerForRepo: [\n \"POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels\",\n ],\n addSelectedRepoToOrgSecret: [\n \"PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}\",\n ],\n approveWorkflowRun: [\n \"POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve\",\n ],\n cancelWorkflowRun: [\n \"POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel\",\n ],\n createOrUpdateEnvironmentSecret: [\n \"PUT /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}\",\n ],\n createOrUpdateOrgSecret: [\"PUT /orgs/{org}/actions/secrets/{secret_name}\"],\n createOrUpdateRepoSecret: [\n \"PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}\",\n ],\n createRegistrationTokenForOrg: [\n \"POST /orgs/{org}/actions/runners/registration-token\",\n ],\n createRegistrationTokenForRepo: [\n \"POST /repos/{owner}/{repo}/actions/runners/registration-token\",\n ],\n createRemoveTokenForOrg: [\"POST /orgs/{org}/actions/runners/remove-token\"],\n createRemoveTokenForRepo: [\n \"POST /repos/{owner}/{repo}/actions/runners/remove-token\",\n ],\n createWorkflowDispatch: [\n \"POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches\",\n ],\n deleteActionsCacheById: [\n \"DELETE /repos/{owner}/{repo}/actions/caches/{cache_id}\",\n ],\n deleteActionsCacheByKey: [\n \"DELETE /repos/{owner}/{repo}/actions/caches{?key,ref}\",\n ],\n deleteArtifact: [\n \"DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}\",\n ],\n deleteEnvironmentSecret: [\n \"DELETE /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}\",\n ],\n deleteOrgSecret: [\"DELETE /orgs/{org}/actions/secrets/{secret_name}\"],\n deleteRepoSecret: [\n \"DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}\",\n ],\n deleteSelfHostedRunnerFromOrg: [\n \"DELETE /orgs/{org}/actions/runners/{runner_id}\",\n ],\n deleteSelfHostedRunnerFromRepo: [\n \"DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}\",\n ],\n deleteWorkflowRun: [\"DELETE /repos/{owner}/{repo}/actions/runs/{run_id}\"],\n deleteWorkflowRunLogs: [\n \"DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs\",\n ],\n disableSelectedRepositoryGithubActionsOrganization: [\n \"DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}\",\n ],\n disableWorkflow: [\n \"PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable\",\n ],\n downloadArtifact: [\n \"GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}\",\n ],\n downloadJobLogsForWorkflowRun: [\n \"GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs\",\n ],\n downloadWorkflowRunAttemptLogs: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs\",\n ],\n downloadWorkflowRunLogs: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs\",\n ],\n enableSelectedRepositoryGithubActionsOrganization: [\n \"PUT /orgs/{org}/actions/permissions/repositories/{repository_id}\",\n ],\n enableWorkflow: [\n \"PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable\",\n ],\n getActionsCacheList: [\"GET /repos/{owner}/{repo}/actions/caches\"],\n getActionsCacheUsage: [\"GET /repos/{owner}/{repo}/actions/cache/usage\"],\n getActionsCacheUsageByRepoForOrg: [\n \"GET /orgs/{org}/actions/cache/usage-by-repository\",\n ],\n getActionsCacheUsageForEnterprise: [\n \"GET /enterprises/{enterprise}/actions/cache/usage\",\n ],\n getActionsCacheUsageForOrg: [\"GET /orgs/{org}/actions/cache/usage\"],\n getAllowedActionsOrganization: [\n \"GET /orgs/{org}/actions/permissions/selected-actions\",\n ],\n getAllowedActionsRepository: [\n \"GET /repos/{owner}/{repo}/actions/permissions/selected-actions\",\n ],\n getArtifact: [\"GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}\"],\n getEnvironmentPublicKey: [\n \"GET /repositories/{repository_id}/environments/{environment_name}/secrets/public-key\",\n ],\n getEnvironmentSecret: [\n \"GET /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}\",\n ],\n getGithubActionsDefaultWorkflowPermissionsEnterprise: [\n \"GET /enterprises/{enterprise}/actions/permissions/workflow\",\n ],\n getGithubActionsDefaultWorkflowPermissionsOrganization: [\n \"GET /orgs/{org}/actions/permissions/workflow\",\n ],\n getGithubActionsDefaultWorkflowPermissionsRepository: [\n \"GET /repos/{owner}/{repo}/actions/permissions/workflow\",\n ],\n getGithubActionsPermissionsOrganization: [\n \"GET /orgs/{org}/actions/permissions\",\n ],\n getGithubActionsPermissionsRepository: [\n \"GET /repos/{owner}/{repo}/actions/permissions\",\n ],\n getJobForWorkflowRun: [\"GET /repos/{owner}/{repo}/actions/jobs/{job_id}\"],\n getOrgPublicKey: [\"GET /orgs/{org}/actions/secrets/public-key\"],\n getOrgSecret: [\"GET /orgs/{org}/actions/secrets/{secret_name}\"],\n getPendingDeploymentsForRun: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments\",\n ],\n getRepoPermissions: [\n \"GET /repos/{owner}/{repo}/actions/permissions\",\n {},\n { renamed: [\"actions\", \"getGithubActionsPermissionsRepository\"] },\n ],\n getRepoPublicKey: [\"GET /repos/{owner}/{repo}/actions/secrets/public-key\"],\n getRepoSecret: [\"GET /repos/{owner}/{repo}/actions/secrets/{secret_name}\"],\n getReviewsForRun: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals\",\n ],\n getSelfHostedRunnerForOrg: [\"GET /orgs/{org}/actions/runners/{runner_id}\"],\n getSelfHostedRunnerForRepo: [\n \"GET /repos/{owner}/{repo}/actions/runners/{runner_id}\",\n ],\n getWorkflow: [\"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}\"],\n getWorkflowAccessToRepository: [\n \"GET /repos/{owner}/{repo}/actions/permissions/access\",\n ],\n getWorkflowRun: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}\"],\n getWorkflowRunAttempt: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}\",\n ],\n getWorkflowRunUsage: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing\",\n ],\n getWorkflowUsage: [\n \"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing\",\n ],\n listArtifactsForRepo: [\"GET /repos/{owner}/{repo}/actions/artifacts\"],\n listEnvironmentSecrets: [\n \"GET /repositories/{repository_id}/environments/{environment_name}/secrets\",\n ],\n listJobsForWorkflowRun: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs\",\n ],\n listJobsForWorkflowRunAttempt: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs\",\n ],\n listLabelsForSelfHostedRunnerForOrg: [\n \"GET /orgs/{org}/actions/runners/{runner_id}/labels\",\n ],\n listLabelsForSelfHostedRunnerForRepo: [\n \"GET /repos/{owner}/{repo}/actions/runners/{runner_id}/labels\",\n ],\n listOrgSecrets: [\"GET /orgs/{org}/actions/secrets\"],\n listRepoSecrets: [\"GET /repos/{owner}/{repo}/actions/secrets\"],\n listRepoWorkflows: [\"GET /repos/{owner}/{repo}/actions/workflows\"],\n listRunnerApplicationsForOrg: [\"GET /orgs/{org}/actions/runners/downloads\"],\n listRunnerApplicationsForRepo: [\n \"GET /repos/{owner}/{repo}/actions/runners/downloads\",\n ],\n listSelectedReposForOrgSecret: [\n \"GET /orgs/{org}/actions/secrets/{secret_name}/repositories\",\n ],\n listSelectedRepositoriesEnabledGithubActionsOrganization: [\n \"GET /orgs/{org}/actions/permissions/repositories\",\n ],\n listSelfHostedRunnersForOrg: [\"GET /orgs/{org}/actions/runners\"],\n listSelfHostedRunnersForRepo: [\"GET /repos/{owner}/{repo}/actions/runners\"],\n listWorkflowRunArtifacts: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts\",\n ],\n listWorkflowRuns: [\n \"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs\",\n ],\n listWorkflowRunsForRepo: [\"GET /repos/{owner}/{repo}/actions/runs\"],\n reRunJobForWorkflowRun: [\n \"POST /repos/{owner}/{repo}/actions/jobs/{job_id}/rerun\",\n ],\n reRunWorkflow: [\"POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun\"],\n reRunWorkflowFailedJobs: [\n \"POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs\",\n ],\n removeAllCustomLabelsFromSelfHostedRunnerForOrg: [\n \"DELETE /orgs/{org}/actions/runners/{runner_id}/labels\",\n ],\n removeAllCustomLabelsFromSelfHostedRunnerForRepo: [\n \"DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels\",\n ],\n removeCustomLabelFromSelfHostedRunnerForOrg: [\n \"DELETE /orgs/{org}/actions/runners/{runner_id}/labels/{name}\",\n ],\n removeCustomLabelFromSelfHostedRunnerForRepo: [\n \"DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}\",\n ],\n removeSelectedRepoFromOrgSecret: [\n \"DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}\",\n ],\n reviewPendingDeploymentsForRun: [\n \"POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments\",\n ],\n setAllowedActionsOrganization: [\n \"PUT /orgs/{org}/actions/permissions/selected-actions\",\n ],\n setAllowedActionsRepository: [\n \"PUT /repos/{owner}/{repo}/actions/permissions/selected-actions\",\n ],\n setCustomLabelsForSelfHostedRunnerForOrg: [\n \"PUT /orgs/{org}/actions/runners/{runner_id}/labels\",\n ],\n setCustomLabelsForSelfHostedRunnerForRepo: [\n \"PUT /repos/{owner}/{repo}/actions/runners/{runner_id}/labels\",\n ],\n setGithubActionsDefaultWorkflowPermissionsEnterprise: [\n \"PUT /enterprises/{enterprise}/actions/permissions/workflow\",\n ],\n setGithubActionsDefaultWorkflowPermissionsOrganization: [\n \"PUT /orgs/{org}/actions/permissions/workflow\",\n ],\n setGithubActionsDefaultWorkflowPermissionsRepository: [\n \"PUT /repos/{owner}/{repo}/actions/permissions/workflow\",\n ],\n setGithubActionsPermissionsOrganization: [\n \"PUT /orgs/{org}/actions/permissions\",\n ],\n setGithubActionsPermissionsRepository: [\n \"PUT /repos/{owner}/{repo}/actions/permissions\",\n ],\n setSelectedReposForOrgSecret: [\n \"PUT /orgs/{org}/actions/secrets/{secret_name}/repositories\",\n ],\n setSelectedRepositoriesEnabledGithubActionsOrganization: [\n \"PUT /orgs/{org}/actions/permissions/repositories\",\n ],\n setWorkflowAccessToRepository: [\n \"PUT /repos/{owner}/{repo}/actions/permissions/access\",\n ],\n },\n activity: {\n checkRepoIsStarredByAuthenticatedUser: [\"GET /user/starred/{owner}/{repo}\"],\n deleteRepoSubscription: [\"DELETE /repos/{owner}/{repo}/subscription\"],\n deleteThreadSubscription: [\n \"DELETE /notifications/threads/{thread_id}/subscription\",\n ],\n getFeeds: [\"GET /feeds\"],\n getRepoSubscription: [\"GET /repos/{owner}/{repo}/subscription\"],\n getThread: [\"GET /notifications/threads/{thread_id}\"],\n getThreadSubscriptionForAuthenticatedUser: [\n \"GET /notifications/threads/{thread_id}/subscription\",\n ],\n listEventsForAuthenticatedUser: [\"GET /users/{username}/events\"],\n listNotificationsForAuthenticatedUser: [\"GET /notifications\"],\n listOrgEventsForAuthenticatedUser: [\n \"GET /users/{username}/events/orgs/{org}\",\n ],\n listPublicEvents: [\"GET /events\"],\n listPublicEventsForRepoNetwork: [\"GET /networks/{owner}/{repo}/events\"],\n listPublicEventsForUser: [\"GET /users/{username}/events/public\"],\n listPublicOrgEvents: [\"GET /orgs/{org}/events\"],\n listReceivedEventsForUser: [\"GET /users/{username}/received_events\"],\n listReceivedPublicEventsForUser: [\n \"GET /users/{username}/received_events/public\",\n ],\n listRepoEvents: [\"GET /repos/{owner}/{repo}/events\"],\n listRepoNotificationsForAuthenticatedUser: [\n \"GET /repos/{owner}/{repo}/notifications\",\n ],\n listReposStarredByAuthenticatedUser: [\"GET /user/starred\"],\n listReposStarredByUser: [\"GET /users/{username}/starred\"],\n listReposWatchedByUser: [\"GET /users/{username}/subscriptions\"],\n listStargazersForRepo: [\"GET /repos/{owner}/{repo}/stargazers\"],\n listWatchedReposForAuthenticatedUser: [\"GET /user/subscriptions\"],\n listWatchersForRepo: [\"GET /repos/{owner}/{repo}/subscribers\"],\n markNotificationsAsRead: [\"PUT /notifications\"],\n markRepoNotificationsAsRead: [\"PUT /repos/{owner}/{repo}/notifications\"],\n markThreadAsRead: [\"PATCH /notifications/threads/{thread_id}\"],\n setRepoSubscription: [\"PUT /repos/{owner}/{repo}/subscription\"],\n setThreadSubscription: [\n \"PUT /notifications/threads/{thread_id}/subscription\",\n ],\n starRepoForAuthenticatedUser: [\"PUT /user/starred/{owner}/{repo}\"],\n unstarRepoForAuthenticatedUser: [\"DELETE /user/starred/{owner}/{repo}\"],\n },\n apps: {\n addRepoToInstallation: [\n \"PUT /user/installations/{installation_id}/repositories/{repository_id}\",\n {},\n { renamed: [\"apps\", \"addRepoToInstallationForAuthenticatedUser\"] },\n ],\n addRepoToInstallationForAuthenticatedUser: [\n \"PUT /user/installations/{installation_id}/repositories/{repository_id}\",\n ],\n checkToken: [\"POST /applications/{client_id}/token\"],\n createFromManifest: [\"POST /app-manifests/{code}/conversions\"],\n createInstallationAccessToken: [\n \"POST /app/installations/{installation_id}/access_tokens\",\n ],\n deleteAuthorization: [\"DELETE /applications/{client_id}/grant\"],\n deleteInstallation: [\"DELETE /app/installations/{installation_id}\"],\n deleteToken: [\"DELETE /applications/{client_id}/token\"],\n getAuthenticated: [\"GET /app\"],\n getBySlug: [\"GET /apps/{app_slug}\"],\n getInstallation: [\"GET /app/installations/{installation_id}\"],\n getOrgInstallation: [\"GET /orgs/{org}/installation\"],\n getRepoInstallation: [\"GET /repos/{owner}/{repo}/installation\"],\n getSubscriptionPlanForAccount: [\n \"GET /marketplace_listing/accounts/{account_id}\",\n ],\n getSubscriptionPlanForAccountStubbed: [\n \"GET /marketplace_listing/stubbed/accounts/{account_id}\",\n ],\n getUserInstallation: [\"GET /users/{username}/installation\"],\n getWebhookConfigForApp: [\"GET /app/hook/config\"],\n getWebhookDelivery: [\"GET /app/hook/deliveries/{delivery_id}\"],\n listAccountsForPlan: [\"GET /marketplace_listing/plans/{plan_id}/accounts\"],\n listAccountsForPlanStubbed: [\n \"GET /marketplace_listing/stubbed/plans/{plan_id}/accounts\",\n ],\n listInstallationReposForAuthenticatedUser: [\n \"GET /user/installations/{installation_id}/repositories\",\n ],\n listInstallations: [\"GET /app/installations\"],\n listInstallationsForAuthenticatedUser: [\"GET /user/installations\"],\n listPlans: [\"GET /marketplace_listing/plans\"],\n listPlansStubbed: [\"GET /marketplace_listing/stubbed/plans\"],\n listReposAccessibleToInstallation: [\"GET /installation/repositories\"],\n listSubscriptionsForAuthenticatedUser: [\"GET /user/marketplace_purchases\"],\n listSubscriptionsForAuthenticatedUserStubbed: [\n \"GET /user/marketplace_purchases/stubbed\",\n ],\n listWebhookDeliveries: [\"GET /app/hook/deliveries\"],\n redeliverWebhookDelivery: [\n \"POST /app/hook/deliveries/{delivery_id}/attempts\",\n ],\n removeRepoFromInstallation: [\n \"DELETE /user/installations/{installation_id}/repositories/{repository_id}\",\n {},\n { renamed: [\"apps\", \"removeRepoFromInstallationForAuthenticatedUser\"] },\n ],\n removeRepoFromInstallationForAuthenticatedUser: [\n \"DELETE /user/installations/{installation_id}/repositories/{repository_id}\",\n ],\n resetToken: [\"PATCH /applications/{client_id}/token\"],\n revokeInstallationAccessToken: [\"DELETE /installation/token\"],\n scopeToken: [\"POST /applications/{client_id}/token/scoped\"],\n suspendInstallation: [\"PUT /app/installations/{installation_id}/suspended\"],\n unsuspendInstallation: [\n \"DELETE /app/installations/{installation_id}/suspended\",\n ],\n updateWebhookConfigForApp: [\"PATCH /app/hook/config\"],\n },\n billing: {\n getGithubActionsBillingOrg: [\"GET /orgs/{org}/settings/billing/actions\"],\n getGithubActionsBillingUser: [\n \"GET /users/{username}/settings/billing/actions\",\n ],\n getGithubAdvancedSecurityBillingGhe: [\n \"GET /enterprises/{enterprise}/settings/billing/advanced-security\",\n ],\n getGithubAdvancedSecurityBillingOrg: [\n \"GET /orgs/{org}/settings/billing/advanced-security\",\n ],\n getGithubPackagesBillingOrg: [\"GET /orgs/{org}/settings/billing/packages\"],\n getGithubPackagesBillingUser: [\n \"GET /users/{username}/settings/billing/packages\",\n ],\n getSharedStorageBillingOrg: [\n \"GET /orgs/{org}/settings/billing/shared-storage\",\n ],\n getSharedStorageBillingUser: [\n \"GET /users/{username}/settings/billing/shared-storage\",\n ],\n },\n checks: {\n create: [\"POST /repos/{owner}/{repo}/check-runs\"],\n createSuite: [\"POST /repos/{owner}/{repo}/check-suites\"],\n get: [\"GET /repos/{owner}/{repo}/check-runs/{check_run_id}\"],\n getSuite: [\"GET /repos/{owner}/{repo}/check-suites/{check_suite_id}\"],\n listAnnotations: [\n \"GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations\",\n ],\n listForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/check-runs\"],\n listForSuite: [\n \"GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs\",\n ],\n listSuitesForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/check-suites\"],\n rerequestRun: [\n \"POST /repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest\",\n ],\n rerequestSuite: [\n \"POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest\",\n ],\n setSuitesPreferences: [\n \"PATCH /repos/{owner}/{repo}/check-suites/preferences\",\n ],\n update: [\"PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}\"],\n },\n codeScanning: {\n deleteAnalysis: [\n \"DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}\",\n ],\n getAlert: [\n \"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}\",\n {},\n { renamedParameters: { alert_id: \"alert_number\" } },\n ],\n getAnalysis: [\n \"GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}\",\n ],\n getSarif: [\"GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}\"],\n listAlertInstances: [\n \"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances\",\n ],\n listAlertsForOrg: [\"GET /orgs/{org}/code-scanning/alerts\"],\n listAlertsForRepo: [\"GET /repos/{owner}/{repo}/code-scanning/alerts\"],\n listAlertsInstances: [\n \"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances\",\n {},\n { renamed: [\"codeScanning\", \"listAlertInstances\"] },\n ],\n listRecentAnalyses: [\"GET /repos/{owner}/{repo}/code-scanning/analyses\"],\n updateAlert: [\n \"PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}\",\n ],\n uploadSarif: [\"POST /repos/{owner}/{repo}/code-scanning/sarifs\"],\n },\n codesOfConduct: {\n getAllCodesOfConduct: [\"GET /codes_of_conduct\"],\n getConductCode: [\"GET /codes_of_conduct/{key}\"],\n },\n codespaces: {\n addRepositoryForSecretForAuthenticatedUser: [\n \"PUT /user/codespaces/secrets/{secret_name}/repositories/{repository_id}\",\n ],\n codespaceMachinesForAuthenticatedUser: [\n \"GET /user/codespaces/{codespace_name}/machines\",\n ],\n createForAuthenticatedUser: [\"POST /user/codespaces\"],\n createOrUpdateRepoSecret: [\n \"PUT /repos/{owner}/{repo}/codespaces/secrets/{secret_name}\",\n ],\n createOrUpdateSecretForAuthenticatedUser: [\n \"PUT /user/codespaces/secrets/{secret_name}\",\n ],\n createWithPrForAuthenticatedUser: [\n \"POST /repos/{owner}/{repo}/pulls/{pull_number}/codespaces\",\n ],\n createWithRepoForAuthenticatedUser: [\n \"POST /repos/{owner}/{repo}/codespaces\",\n ],\n deleteForAuthenticatedUser: [\"DELETE /user/codespaces/{codespace_name}\"],\n deleteFromOrganization: [\n \"DELETE /orgs/{org}/members/{username}/codespaces/{codespace_name}\",\n ],\n deleteRepoSecret: [\n \"DELETE /repos/{owner}/{repo}/codespaces/secrets/{secret_name}\",\n ],\n deleteSecretForAuthenticatedUser: [\n \"DELETE /user/codespaces/secrets/{secret_name}\",\n ],\n exportForAuthenticatedUser: [\n \"POST /user/codespaces/{codespace_name}/exports\",\n ],\n getExportDetailsForAuthenticatedUser: [\n \"GET /user/codespaces/{codespace_name}/exports/{export_id}\",\n ],\n getForAuthenticatedUser: [\"GET /user/codespaces/{codespace_name}\"],\n getPublicKeyForAuthenticatedUser: [\n \"GET /user/codespaces/secrets/public-key\",\n ],\n getRepoPublicKey: [\n \"GET /repos/{owner}/{repo}/codespaces/secrets/public-key\",\n ],\n getRepoSecret: [\n \"GET /repos/{owner}/{repo}/codespaces/secrets/{secret_name}\",\n ],\n getSecretForAuthenticatedUser: [\n \"GET /user/codespaces/secrets/{secret_name}\",\n ],\n listDevcontainersInRepositoryForAuthenticatedUser: [\n \"GET /repos/{owner}/{repo}/codespaces/devcontainers\",\n ],\n listForAuthenticatedUser: [\"GET /user/codespaces\"],\n listInOrganization: [\n \"GET /orgs/{org}/codespaces\",\n {},\n { renamedParameters: { org_id: \"org\" } },\n ],\n listInRepositoryForAuthenticatedUser: [\n \"GET /repos/{owner}/{repo}/codespaces\",\n ],\n listRepoSecrets: [\"GET /repos/{owner}/{repo}/codespaces/secrets\"],\n listRepositoriesForSecretForAuthenticatedUser: [\n \"GET /user/codespaces/secrets/{secret_name}/repositories\",\n ],\n listSecretsForAuthenticatedUser: [\"GET /user/codespaces/secrets\"],\n removeRepositoryForSecretForAuthenticatedUser: [\n \"DELETE /user/codespaces/secrets/{secret_name}/repositories/{repository_id}\",\n ],\n repoMachinesForAuthenticatedUser: [\n \"GET /repos/{owner}/{repo}/codespaces/machines\",\n ],\n setRepositoriesForSecretForAuthenticatedUser: [\n \"PUT /user/codespaces/secrets/{secret_name}/repositories\",\n ],\n startForAuthenticatedUser: [\"POST /user/codespaces/{codespace_name}/start\"],\n stopForAuthenticatedUser: [\"POST /user/codespaces/{codespace_name}/stop\"],\n stopInOrganization: [\n \"POST /orgs/{org}/members/{username}/codespaces/{codespace_name}/stop\",\n ],\n updateForAuthenticatedUser: [\"PATCH /user/codespaces/{codespace_name}\"],\n },\n dependabot: {\n addSelectedRepoToOrgSecret: [\n \"PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}\",\n ],\n createOrUpdateOrgSecret: [\n \"PUT /orgs/{org}/dependabot/secrets/{secret_name}\",\n ],\n createOrUpdateRepoSecret: [\n \"PUT /repos/{owner}/{repo}/dependabot/secrets/{secret_name}\",\n ],\n deleteOrgSecret: [\"DELETE /orgs/{org}/dependabot/secrets/{secret_name}\"],\n deleteRepoSecret: [\n \"DELETE /repos/{owner}/{repo}/dependabot/secrets/{secret_name}\",\n ],\n getOrgPublicKey: [\"GET /orgs/{org}/dependabot/secrets/public-key\"],\n getOrgSecret: [\"GET /orgs/{org}/dependabot/secrets/{secret_name}\"],\n getRepoPublicKey: [\n \"GET /repos/{owner}/{repo}/dependabot/secrets/public-key\",\n ],\n getRepoSecret: [\n \"GET /repos/{owner}/{repo}/dependabot/secrets/{secret_name}\",\n ],\n listOrgSecrets: [\"GET /orgs/{org}/dependabot/secrets\"],\n listRepoSecrets: [\"GET /repos/{owner}/{repo}/dependabot/secrets\"],\n listSelectedReposForOrgSecret: [\n \"GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories\",\n ],\n removeSelectedRepoFromOrgSecret: [\n \"DELETE /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}\",\n ],\n setSelectedReposForOrgSecret: [\n \"PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories\",\n ],\n },\n dependencyGraph: {\n createRepositorySnapshot: [\n \"POST /repos/{owner}/{repo}/dependency-graph/snapshots\",\n ],\n diffRange: [\n \"GET /repos/{owner}/{repo}/dependency-graph/compare/{basehead}\",\n ],\n },\n emojis: { get: [\"GET /emojis\"] },\n enterpriseAdmin: {\n addCustomLabelsToSelfHostedRunnerForEnterprise: [\n \"POST /enterprises/{enterprise}/actions/runners/{runner_id}/labels\",\n ],\n disableSelectedOrganizationGithubActionsEnterprise: [\n \"DELETE /enterprises/{enterprise}/actions/permissions/organizations/{org_id}\",\n ],\n enableSelectedOrganizationGithubActionsEnterprise: [\n \"PUT /enterprises/{enterprise}/actions/permissions/organizations/{org_id}\",\n ],\n getAllowedActionsEnterprise: [\n \"GET /enterprises/{enterprise}/actions/permissions/selected-actions\",\n ],\n getGithubActionsPermissionsEnterprise: [\n \"GET /enterprises/{enterprise}/actions/permissions\",\n ],\n getServerStatistics: [\n \"GET /enterprise-installation/{enterprise_or_org}/server-statistics\",\n ],\n listLabelsForSelfHostedRunnerForEnterprise: [\n \"GET /enterprises/{enterprise}/actions/runners/{runner_id}/labels\",\n ],\n listSelectedOrganizationsEnabledGithubActionsEnterprise: [\n \"GET /enterprises/{enterprise}/actions/permissions/organizations\",\n ],\n removeAllCustomLabelsFromSelfHostedRunnerForEnterprise: [\n \"DELETE /enterprises/{enterprise}/actions/runners/{runner_id}/labels\",\n ],\n removeCustomLabelFromSelfHostedRunnerForEnterprise: [\n \"DELETE /enterprises/{enterprise}/actions/runners/{runner_id}/labels/{name}\",\n ],\n setAllowedActionsEnterprise: [\n \"PUT /enterprises/{enterprise}/actions/permissions/selected-actions\",\n ],\n setCustomLabelsForSelfHostedRunnerForEnterprise: [\n \"PUT /enterprises/{enterprise}/actions/runners/{runner_id}/labels\",\n ],\n setGithubActionsPermissionsEnterprise: [\n \"PUT /enterprises/{enterprise}/actions/permissions\",\n ],\n setSelectedOrganizationsEnabledGithubActionsEnterprise: [\n \"PUT /enterprises/{enterprise}/actions/permissions/organizations\",\n ],\n },\n gists: {\n checkIsStarred: [\"GET /gists/{gist_id}/star\"],\n create: [\"POST /gists\"],\n createComment: [\"POST /gists/{gist_id}/comments\"],\n delete: [\"DELETE /gists/{gist_id}\"],\n deleteComment: [\"DELETE /gists/{gist_id}/comments/{comment_id}\"],\n fork: [\"POST /gists/{gist_id}/forks\"],\n get: [\"GET /gists/{gist_id}\"],\n getComment: [\"GET /gists/{gist_id}/comments/{comment_id}\"],\n getRevision: [\"GET /gists/{gist_id}/{sha}\"],\n list: [\"GET /gists\"],\n listComments: [\"GET /gists/{gist_id}/comments\"],\n listCommits: [\"GET /gists/{gist_id}/commits\"],\n listForUser: [\"GET /users/{username}/gists\"],\n listForks: [\"GET /gists/{gist_id}/forks\"],\n listPublic: [\"GET /gists/public\"],\n listStarred: [\"GET /gists/starred\"],\n star: [\"PUT /gists/{gist_id}/star\"],\n unstar: [\"DELETE /gists/{gist_id}/star\"],\n update: [\"PATCH /gists/{gist_id}\"],\n updateComment: [\"PATCH /gists/{gist_id}/comments/{comment_id}\"],\n },\n git: {\n createBlob: [\"POST /repos/{owner}/{repo}/git/blobs\"],\n createCommit: [\"POST /repos/{owner}/{repo}/git/commits\"],\n createRef: [\"POST /repos/{owner}/{repo}/git/refs\"],\n createTag: [\"POST /repos/{owner}/{repo}/git/tags\"],\n createTree: [\"POST /repos/{owner}/{repo}/git/trees\"],\n deleteRef: [\"DELETE /repos/{owner}/{repo}/git/refs/{ref}\"],\n getBlob: [\"GET /repos/{owner}/{repo}/git/blobs/{file_sha}\"],\n getCommit: [\"GET /repos/{owner}/{repo}/git/commits/{commit_sha}\"],\n getRef: [\"GET /repos/{owner}/{repo}/git/ref/{ref}\"],\n getTag: [\"GET /repos/{owner}/{repo}/git/tags/{tag_sha}\"],\n getTree: [\"GET /repos/{owner}/{repo}/git/trees/{tree_sha}\"],\n listMatchingRefs: [\"GET /repos/{owner}/{repo}/git/matching-refs/{ref}\"],\n updateRef: [\"PATCH /repos/{owner}/{repo}/git/refs/{ref}\"],\n },\n gitignore: {\n getAllTemplates: [\"GET /gitignore/templates\"],\n getTemplate: [\"GET /gitignore/templates/{name}\"],\n },\n interactions: {\n getRestrictionsForAuthenticatedUser: [\"GET /user/interaction-limits\"],\n getRestrictionsForOrg: [\"GET /orgs/{org}/interaction-limits\"],\n getRestrictionsForRepo: [\"GET /repos/{owner}/{repo}/interaction-limits\"],\n getRestrictionsForYourPublicRepos: [\n \"GET /user/interaction-limits\",\n {},\n { renamed: [\"interactions\", \"getRestrictionsForAuthenticatedUser\"] },\n ],\n removeRestrictionsForAuthenticatedUser: [\"DELETE /user/interaction-limits\"],\n removeRestrictionsForOrg: [\"DELETE /orgs/{org}/interaction-limits\"],\n removeRestrictionsForRepo: [\n \"DELETE /repos/{owner}/{repo}/interaction-limits\",\n ],\n removeRestrictionsForYourPublicRepos: [\n \"DELETE /user/interaction-limits\",\n {},\n { renamed: [\"interactions\", \"removeRestrictionsForAuthenticatedUser\"] },\n ],\n setRestrictionsForAuthenticatedUser: [\"PUT /user/interaction-limits\"],\n setRestrictionsForOrg: [\"PUT /orgs/{org}/interaction-limits\"],\n setRestrictionsForRepo: [\"PUT /repos/{owner}/{repo}/interaction-limits\"],\n setRestrictionsForYourPublicRepos: [\n \"PUT /user/interaction-limits\",\n {},\n { renamed: [\"interactions\", \"setRestrictionsForAuthenticatedUser\"] },\n ],\n },\n issues: {\n addAssignees: [\n \"POST /repos/{owner}/{repo}/issues/{issue_number}/assignees\",\n ],\n addLabels: [\"POST /repos/{owner}/{repo}/issues/{issue_number}/labels\"],\n checkUserCanBeAssigned: [\"GET /repos/{owner}/{repo}/assignees/{assignee}\"],\n create: [\"POST /repos/{owner}/{repo}/issues\"],\n createComment: [\n \"POST /repos/{owner}/{repo}/issues/{issue_number}/comments\",\n ],\n createLabel: [\"POST /repos/{owner}/{repo}/labels\"],\n createMilestone: [\"POST /repos/{owner}/{repo}/milestones\"],\n deleteComment: [\n \"DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}\",\n ],\n deleteLabel: [\"DELETE /repos/{owner}/{repo}/labels/{name}\"],\n deleteMilestone: [\n \"DELETE /repos/{owner}/{repo}/milestones/{milestone_number}\",\n ],\n get: [\"GET /repos/{owner}/{repo}/issues/{issue_number}\"],\n getComment: [\"GET /repos/{owner}/{repo}/issues/comments/{comment_id}\"],\n getEvent: [\"GET /repos/{owner}/{repo}/issues/events/{event_id}\"],\n getLabel: [\"GET /repos/{owner}/{repo}/labels/{name}\"],\n getMilestone: [\"GET /repos/{owner}/{repo}/milestones/{milestone_number}\"],\n list: [\"GET /issues\"],\n listAssignees: [\"GET /repos/{owner}/{repo}/assignees\"],\n listComments: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/comments\"],\n listCommentsForRepo: [\"GET /repos/{owner}/{repo}/issues/comments\"],\n listEvents: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/events\"],\n listEventsForRepo: [\"GET /repos/{owner}/{repo}/issues/events\"],\n listEventsForTimeline: [\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/timeline\",\n ],\n listForAuthenticatedUser: [\"GET /user/issues\"],\n listForOrg: [\"GET /orgs/{org}/issues\"],\n listForRepo: [\"GET /repos/{owner}/{repo}/issues\"],\n listLabelsForMilestone: [\n \"GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels\",\n ],\n listLabelsForRepo: [\"GET /repos/{owner}/{repo}/labels\"],\n listLabelsOnIssue: [\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/labels\",\n ],\n listMilestones: [\"GET /repos/{owner}/{repo}/milestones\"],\n lock: [\"PUT /repos/{owner}/{repo}/issues/{issue_number}/lock\"],\n removeAllLabels: [\n \"DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels\",\n ],\n removeAssignees: [\n \"DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees\",\n ],\n removeLabel: [\n \"DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}\",\n ],\n setLabels: [\"PUT /repos/{owner}/{repo}/issues/{issue_number}/labels\"],\n unlock: [\"DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock\"],\n update: [\"PATCH /repos/{owner}/{repo}/issues/{issue_number}\"],\n updateComment: [\"PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}\"],\n updateLabel: [\"PATCH /repos/{owner}/{repo}/labels/{name}\"],\n updateMilestone: [\n \"PATCH /repos/{owner}/{repo}/milestones/{milestone_number}\",\n ],\n },\n licenses: {\n get: [\"GET /licenses/{license}\"],\n getAllCommonlyUsed: [\"GET /licenses\"],\n getForRepo: [\"GET /repos/{owner}/{repo}/license\"],\n },\n markdown: {\n render: [\"POST /markdown\"],\n renderRaw: [\n \"POST /markdown/raw\",\n { headers: { \"content-type\": \"text/plain; charset=utf-8\" } },\n ],\n },\n meta: {\n get: [\"GET /meta\"],\n getOctocat: [\"GET /octocat\"],\n getZen: [\"GET /zen\"],\n root: [\"GET /\"],\n },\n migrations: {\n cancelImport: [\"DELETE /repos/{owner}/{repo}/import\"],\n deleteArchiveForAuthenticatedUser: [\n \"DELETE /user/migrations/{migration_id}/archive\",\n ],\n deleteArchiveForOrg: [\n \"DELETE /orgs/{org}/migrations/{migration_id}/archive\",\n ],\n downloadArchiveForOrg: [\n \"GET /orgs/{org}/migrations/{migration_id}/archive\",\n ],\n getArchiveForAuthenticatedUser: [\n \"GET /user/migrations/{migration_id}/archive\",\n ],\n getCommitAuthors: [\"GET /repos/{owner}/{repo}/import/authors\"],\n getImportStatus: [\"GET /repos/{owner}/{repo}/import\"],\n getLargeFiles: [\"GET /repos/{owner}/{repo}/import/large_files\"],\n getStatusForAuthenticatedUser: [\"GET /user/migrations/{migration_id}\"],\n getStatusForOrg: [\"GET /orgs/{org}/migrations/{migration_id}\"],\n listForAuthenticatedUser: [\"GET /user/migrations\"],\n listForOrg: [\"GET /orgs/{org}/migrations\"],\n listReposForAuthenticatedUser: [\n \"GET /user/migrations/{migration_id}/repositories\",\n ],\n listReposForOrg: [\"GET /orgs/{org}/migrations/{migration_id}/repositories\"],\n listReposForUser: [\n \"GET /user/migrations/{migration_id}/repositories\",\n {},\n { renamed: [\"migrations\", \"listReposForAuthenticatedUser\"] },\n ],\n mapCommitAuthor: [\"PATCH /repos/{owner}/{repo}/import/authors/{author_id}\"],\n setLfsPreference: [\"PATCH /repos/{owner}/{repo}/import/lfs\"],\n startForAuthenticatedUser: [\"POST /user/migrations\"],\n startForOrg: [\"POST /orgs/{org}/migrations\"],\n startImport: [\"PUT /repos/{owner}/{repo}/import\"],\n unlockRepoForAuthenticatedUser: [\n \"DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock\",\n ],\n unlockRepoForOrg: [\n \"DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock\",\n ],\n updateImport: [\"PATCH /repos/{owner}/{repo}/import\"],\n },\n orgs: {\n blockUser: [\"PUT /orgs/{org}/blocks/{username}\"],\n cancelInvitation: [\"DELETE /orgs/{org}/invitations/{invitation_id}\"],\n checkBlockedUser: [\"GET /orgs/{org}/blocks/{username}\"],\n checkMembershipForUser: [\"GET /orgs/{org}/members/{username}\"],\n checkPublicMembershipForUser: [\"GET /orgs/{org}/public_members/{username}\"],\n convertMemberToOutsideCollaborator: [\n \"PUT /orgs/{org}/outside_collaborators/{username}\",\n ],\n createInvitation: [\"POST /orgs/{org}/invitations\"],\n createWebhook: [\"POST /orgs/{org}/hooks\"],\n deleteWebhook: [\"DELETE /orgs/{org}/hooks/{hook_id}\"],\n get: [\"GET /orgs/{org}\"],\n getMembershipForAuthenticatedUser: [\"GET /user/memberships/orgs/{org}\"],\n getMembershipForUser: [\"GET /orgs/{org}/memberships/{username}\"],\n getWebhook: [\"GET /orgs/{org}/hooks/{hook_id}\"],\n getWebhookConfigForOrg: [\"GET /orgs/{org}/hooks/{hook_id}/config\"],\n getWebhookDelivery: [\n \"GET /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}\",\n ],\n list: [\"GET /organizations\"],\n listAppInstallations: [\"GET /orgs/{org}/installations\"],\n listBlockedUsers: [\"GET /orgs/{org}/blocks\"],\n listCustomRoles: [\"GET /organizations/{organization_id}/custom_roles\"],\n listFailedInvitations: [\"GET /orgs/{org}/failed_invitations\"],\n listForAuthenticatedUser: [\"GET /user/orgs\"],\n listForUser: [\"GET /users/{username}/orgs\"],\n listInvitationTeams: [\"GET /orgs/{org}/invitations/{invitation_id}/teams\"],\n listMembers: [\"GET /orgs/{org}/members\"],\n listMembershipsForAuthenticatedUser: [\"GET /user/memberships/orgs\"],\n listOutsideCollaborators: [\"GET /orgs/{org}/outside_collaborators\"],\n listPendingInvitations: [\"GET /orgs/{org}/invitations\"],\n listPublicMembers: [\"GET /orgs/{org}/public_members\"],\n listWebhookDeliveries: [\"GET /orgs/{org}/hooks/{hook_id}/deliveries\"],\n listWebhooks: [\"GET /orgs/{org}/hooks\"],\n pingWebhook: [\"POST /orgs/{org}/hooks/{hook_id}/pings\"],\n redeliverWebhookDelivery: [\n \"POST /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts\",\n ],\n removeMember: [\"DELETE /orgs/{org}/members/{username}\"],\n removeMembershipForUser: [\"DELETE /orgs/{org}/memberships/{username}\"],\n removeOutsideCollaborator: [\n \"DELETE /orgs/{org}/outside_collaborators/{username}\",\n ],\n removePublicMembershipForAuthenticatedUser: [\n \"DELETE /orgs/{org}/public_members/{username}\",\n ],\n setMembershipForUser: [\"PUT /orgs/{org}/memberships/{username}\"],\n setPublicMembershipForAuthenticatedUser: [\n \"PUT /orgs/{org}/public_members/{username}\",\n ],\n unblockUser: [\"DELETE /orgs/{org}/blocks/{username}\"],\n update: [\"PATCH /orgs/{org}\"],\n updateMembershipForAuthenticatedUser: [\n \"PATCH /user/memberships/orgs/{org}\",\n ],\n updateWebhook: [\"PATCH /orgs/{org}/hooks/{hook_id}\"],\n updateWebhookConfigForOrg: [\"PATCH /orgs/{org}/hooks/{hook_id}/config\"],\n },\n packages: {\n deletePackageForAuthenticatedUser: [\n \"DELETE /user/packages/{package_type}/{package_name}\",\n ],\n deletePackageForOrg: [\n \"DELETE /orgs/{org}/packages/{package_type}/{package_name}\",\n ],\n deletePackageForUser: [\n \"DELETE /users/{username}/packages/{package_type}/{package_name}\",\n ],\n deletePackageVersionForAuthenticatedUser: [\n \"DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}\",\n ],\n deletePackageVersionForOrg: [\n \"DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}\",\n ],\n deletePackageVersionForUser: [\n \"DELETE /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}\",\n ],\n getAllPackageVersionsForAPackageOwnedByAnOrg: [\n \"GET /orgs/{org}/packages/{package_type}/{package_name}/versions\",\n {},\n { renamed: [\"packages\", \"getAllPackageVersionsForPackageOwnedByOrg\"] },\n ],\n getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser: [\n \"GET /user/packages/{package_type}/{package_name}/versions\",\n {},\n {\n renamed: [\n \"packages\",\n \"getAllPackageVersionsForPackageOwnedByAuthenticatedUser\",\n ],\n },\n ],\n getAllPackageVersionsForPackageOwnedByAuthenticatedUser: [\n \"GET /user/packages/{package_type}/{package_name}/versions\",\n ],\n getAllPackageVersionsForPackageOwnedByOrg: [\n \"GET /orgs/{org}/packages/{package_type}/{package_name}/versions\",\n ],\n getAllPackageVersionsForPackageOwnedByUser: [\n \"GET /users/{username}/packages/{package_type}/{package_name}/versions\",\n ],\n getPackageForAuthenticatedUser: [\n \"GET /user/packages/{package_type}/{package_name}\",\n ],\n getPackageForOrganization: [\n \"GET /orgs/{org}/packages/{package_type}/{package_name}\",\n ],\n getPackageForUser: [\n \"GET /users/{username}/packages/{package_type}/{package_name}\",\n ],\n getPackageVersionForAuthenticatedUser: [\n \"GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}\",\n ],\n getPackageVersionForOrganization: [\n \"GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}\",\n ],\n getPackageVersionForUser: [\n \"GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}\",\n ],\n listPackagesForAuthenticatedUser: [\"GET /user/packages\"],\n listPackagesForOrganization: [\"GET /orgs/{org}/packages\"],\n listPackagesForUser: [\"GET /users/{username}/packages\"],\n restorePackageForAuthenticatedUser: [\n \"POST /user/packages/{package_type}/{package_name}/restore{?token}\",\n ],\n restorePackageForOrg: [\n \"POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}\",\n ],\n restorePackageForUser: [\n \"POST /users/{username}/packages/{package_type}/{package_name}/restore{?token}\",\n ],\n restorePackageVersionForAuthenticatedUser: [\n \"POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore\",\n ],\n restorePackageVersionForOrg: [\n \"POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore\",\n ],\n restorePackageVersionForUser: [\n \"POST /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore\",\n ],\n },\n projects: {\n addCollaborator: [\"PUT /projects/{project_id}/collaborators/{username}\"],\n createCard: [\"POST /projects/columns/{column_id}/cards\"],\n createColumn: [\"POST /projects/{project_id}/columns\"],\n createForAuthenticatedUser: [\"POST /user/projects\"],\n createForOrg: [\"POST /orgs/{org}/projects\"],\n createForRepo: [\"POST /repos/{owner}/{repo}/projects\"],\n delete: [\"DELETE /projects/{project_id}\"],\n deleteCard: [\"DELETE /projects/columns/cards/{card_id}\"],\n deleteColumn: [\"DELETE /projects/columns/{column_id}\"],\n get: [\"GET /projects/{project_id}\"],\n getCard: [\"GET /projects/columns/cards/{card_id}\"],\n getColumn: [\"GET /projects/columns/{column_id}\"],\n getPermissionForUser: [\n \"GET /projects/{project_id}/collaborators/{username}/permission\",\n ],\n listCards: [\"GET /projects/columns/{column_id}/cards\"],\n listCollaborators: [\"GET /projects/{project_id}/collaborators\"],\n listColumns: [\"GET /projects/{project_id}/columns\"],\n listForOrg: [\"GET /orgs/{org}/projects\"],\n listForRepo: [\"GET /repos/{owner}/{repo}/projects\"],\n listForUser: [\"GET /users/{username}/projects\"],\n moveCard: [\"POST /projects/columns/cards/{card_id}/moves\"],\n moveColumn: [\"POST /projects/columns/{column_id}/moves\"],\n removeCollaborator: [\n \"DELETE /projects/{project_id}/collaborators/{username}\",\n ],\n update: [\"PATCH /projects/{project_id}\"],\n updateCard: [\"PATCH /projects/columns/cards/{card_id}\"],\n updateColumn: [\"PATCH /projects/columns/{column_id}\"],\n },\n pulls: {\n checkIfMerged: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/merge\"],\n create: [\"POST /repos/{owner}/{repo}/pulls\"],\n createReplyForReviewComment: [\n \"POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies\",\n ],\n createReview: [\"POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews\"],\n createReviewComment: [\n \"POST /repos/{owner}/{repo}/pulls/{pull_number}/comments\",\n ],\n deletePendingReview: [\n \"DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}\",\n ],\n deleteReviewComment: [\n \"DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}\",\n ],\n dismissReview: [\n \"PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals\",\n ],\n get: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}\"],\n getReview: [\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}\",\n ],\n getReviewComment: [\"GET /repos/{owner}/{repo}/pulls/comments/{comment_id}\"],\n list: [\"GET /repos/{owner}/{repo}/pulls\"],\n listCommentsForReview: [\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments\",\n ],\n listCommits: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/commits\"],\n listFiles: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/files\"],\n listRequestedReviewers: [\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\",\n ],\n listReviewComments: [\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/comments\",\n ],\n listReviewCommentsForRepo: [\"GET /repos/{owner}/{repo}/pulls/comments\"],\n listReviews: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews\"],\n merge: [\"PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge\"],\n removeRequestedReviewers: [\n \"DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\",\n ],\n requestReviewers: [\n \"POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\",\n ],\n submitReview: [\n \"POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events\",\n ],\n update: [\"PATCH /repos/{owner}/{repo}/pulls/{pull_number}\"],\n updateBranch: [\n \"PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch\",\n ],\n updateReview: [\n \"PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}\",\n ],\n updateReviewComment: [\n \"PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}\",\n ],\n },\n rateLimit: { get: [\"GET /rate_limit\"] },\n reactions: {\n createForCommitComment: [\n \"POST /repos/{owner}/{repo}/comments/{comment_id}/reactions\",\n ],\n createForIssue: [\n \"POST /repos/{owner}/{repo}/issues/{issue_number}/reactions\",\n ],\n createForIssueComment: [\n \"POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions\",\n ],\n createForPullRequestReviewComment: [\n \"POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions\",\n ],\n createForRelease: [\n \"POST /repos/{owner}/{repo}/releases/{release_id}/reactions\",\n ],\n createForTeamDiscussionCommentInOrg: [\n \"POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions\",\n ],\n createForTeamDiscussionInOrg: [\n \"POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions\",\n ],\n deleteForCommitComment: [\n \"DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}\",\n ],\n deleteForIssue: [\n \"DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}\",\n ],\n deleteForIssueComment: [\n \"DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}\",\n ],\n deleteForPullRequestComment: [\n \"DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}\",\n ],\n deleteForRelease: [\n \"DELETE /repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}\",\n ],\n deleteForTeamDiscussion: [\n \"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}\",\n ],\n deleteForTeamDiscussionComment: [\n \"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}\",\n ],\n listForCommitComment: [\n \"GET /repos/{owner}/{repo}/comments/{comment_id}/reactions\",\n ],\n listForIssue: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/reactions\"],\n listForIssueComment: [\n \"GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions\",\n ],\n listForPullRequestReviewComment: [\n \"GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions\",\n ],\n listForRelease: [\n \"GET /repos/{owner}/{repo}/releases/{release_id}/reactions\",\n ],\n listForTeamDiscussionCommentInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions\",\n ],\n listForTeamDiscussionInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions\",\n ],\n },\n repos: {\n acceptInvitation: [\n \"PATCH /user/repository_invitations/{invitation_id}\",\n {},\n { renamed: [\"repos\", \"acceptInvitationForAuthenticatedUser\"] },\n ],\n acceptInvitationForAuthenticatedUser: [\n \"PATCH /user/repository_invitations/{invitation_id}\",\n ],\n addAppAccessRestrictions: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\",\n {},\n { mapToData: \"apps\" },\n ],\n addCollaborator: [\"PUT /repos/{owner}/{repo}/collaborators/{username}\"],\n addStatusCheckContexts: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\",\n {},\n { mapToData: \"contexts\" },\n ],\n addTeamAccessRestrictions: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\",\n {},\n { mapToData: \"teams\" },\n ],\n addUserAccessRestrictions: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\",\n {},\n { mapToData: \"users\" },\n ],\n checkCollaborator: [\"GET /repos/{owner}/{repo}/collaborators/{username}\"],\n checkVulnerabilityAlerts: [\n \"GET /repos/{owner}/{repo}/vulnerability-alerts\",\n ],\n codeownersErrors: [\"GET /repos/{owner}/{repo}/codeowners/errors\"],\n compareCommits: [\"GET /repos/{owner}/{repo}/compare/{base}...{head}\"],\n compareCommitsWithBasehead: [\n \"GET /repos/{owner}/{repo}/compare/{basehead}\",\n ],\n createAutolink: [\"POST /repos/{owner}/{repo}/autolinks\"],\n createCommitComment: [\n \"POST /repos/{owner}/{repo}/commits/{commit_sha}/comments\",\n ],\n createCommitSignatureProtection: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\",\n ],\n createCommitStatus: [\"POST /repos/{owner}/{repo}/statuses/{sha}\"],\n createDeployKey: [\"POST /repos/{owner}/{repo}/keys\"],\n createDeployment: [\"POST /repos/{owner}/{repo}/deployments\"],\n createDeploymentStatus: [\n \"POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses\",\n ],\n createDispatchEvent: [\"POST /repos/{owner}/{repo}/dispatches\"],\n createForAuthenticatedUser: [\"POST /user/repos\"],\n createFork: [\"POST /repos/{owner}/{repo}/forks\"],\n createInOrg: [\"POST /orgs/{org}/repos\"],\n createOrUpdateEnvironment: [\n \"PUT /repos/{owner}/{repo}/environments/{environment_name}\",\n ],\n createOrUpdateFileContents: [\"PUT /repos/{owner}/{repo}/contents/{path}\"],\n createPagesSite: [\"POST /repos/{owner}/{repo}/pages\"],\n createRelease: [\"POST /repos/{owner}/{repo}/releases\"],\n createTagProtection: [\"POST /repos/{owner}/{repo}/tags/protection\"],\n createUsingTemplate: [\n \"POST /repos/{template_owner}/{template_repo}/generate\",\n ],\n createWebhook: [\"POST /repos/{owner}/{repo}/hooks\"],\n declineInvitation: [\n \"DELETE /user/repository_invitations/{invitation_id}\",\n {},\n { renamed: [\"repos\", \"declineInvitationForAuthenticatedUser\"] },\n ],\n declineInvitationForAuthenticatedUser: [\n \"DELETE /user/repository_invitations/{invitation_id}\",\n ],\n delete: [\"DELETE /repos/{owner}/{repo}\"],\n deleteAccessRestrictions: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions\",\n ],\n deleteAdminBranchProtection: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\",\n ],\n deleteAnEnvironment: [\n \"DELETE /repos/{owner}/{repo}/environments/{environment_name}\",\n ],\n deleteAutolink: [\"DELETE /repos/{owner}/{repo}/autolinks/{autolink_id}\"],\n deleteBranchProtection: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection\",\n ],\n deleteCommitComment: [\"DELETE /repos/{owner}/{repo}/comments/{comment_id}\"],\n deleteCommitSignatureProtection: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\",\n ],\n deleteDeployKey: [\"DELETE /repos/{owner}/{repo}/keys/{key_id}\"],\n deleteDeployment: [\n \"DELETE /repos/{owner}/{repo}/deployments/{deployment_id}\",\n ],\n deleteFile: [\"DELETE /repos/{owner}/{repo}/contents/{path}\"],\n deleteInvitation: [\n \"DELETE /repos/{owner}/{repo}/invitations/{invitation_id}\",\n ],\n deletePagesSite: [\"DELETE /repos/{owner}/{repo}/pages\"],\n deletePullRequestReviewProtection: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\",\n ],\n deleteRelease: [\"DELETE /repos/{owner}/{repo}/releases/{release_id}\"],\n deleteReleaseAsset: [\n \"DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}\",\n ],\n deleteTagProtection: [\n \"DELETE /repos/{owner}/{repo}/tags/protection/{tag_protection_id}\",\n ],\n deleteWebhook: [\"DELETE /repos/{owner}/{repo}/hooks/{hook_id}\"],\n disableAutomatedSecurityFixes: [\n \"DELETE /repos/{owner}/{repo}/automated-security-fixes\",\n ],\n disableLfsForRepo: [\"DELETE /repos/{owner}/{repo}/lfs\"],\n disableVulnerabilityAlerts: [\n \"DELETE /repos/{owner}/{repo}/vulnerability-alerts\",\n ],\n downloadArchive: [\n \"GET /repos/{owner}/{repo}/zipball/{ref}\",\n {},\n { renamed: [\"repos\", \"downloadZipballArchive\"] },\n ],\n downloadTarballArchive: [\"GET /repos/{owner}/{repo}/tarball/{ref}\"],\n downloadZipballArchive: [\"GET /repos/{owner}/{repo}/zipball/{ref}\"],\n enableAutomatedSecurityFixes: [\n \"PUT /repos/{owner}/{repo}/automated-security-fixes\",\n ],\n enableLfsForRepo: [\"PUT /repos/{owner}/{repo}/lfs\"],\n enableVulnerabilityAlerts: [\n \"PUT /repos/{owner}/{repo}/vulnerability-alerts\",\n ],\n generateReleaseNotes: [\n \"POST /repos/{owner}/{repo}/releases/generate-notes\",\n ],\n get: [\"GET /repos/{owner}/{repo}\"],\n getAccessRestrictions: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions\",\n ],\n getAdminBranchProtection: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\",\n ],\n getAllEnvironments: [\"GET /repos/{owner}/{repo}/environments\"],\n getAllStatusCheckContexts: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\",\n ],\n getAllTopics: [\"GET /repos/{owner}/{repo}/topics\"],\n getAppsWithAccessToProtectedBranch: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\",\n ],\n getAutolink: [\"GET /repos/{owner}/{repo}/autolinks/{autolink_id}\"],\n getBranch: [\"GET /repos/{owner}/{repo}/branches/{branch}\"],\n getBranchProtection: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection\",\n ],\n getClones: [\"GET /repos/{owner}/{repo}/traffic/clones\"],\n getCodeFrequencyStats: [\"GET /repos/{owner}/{repo}/stats/code_frequency\"],\n getCollaboratorPermissionLevel: [\n \"GET /repos/{owner}/{repo}/collaborators/{username}/permission\",\n ],\n getCombinedStatusForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/status\"],\n getCommit: [\"GET /repos/{owner}/{repo}/commits/{ref}\"],\n getCommitActivityStats: [\"GET /repos/{owner}/{repo}/stats/commit_activity\"],\n getCommitComment: [\"GET /repos/{owner}/{repo}/comments/{comment_id}\"],\n getCommitSignatureProtection: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\",\n ],\n getCommunityProfileMetrics: [\"GET /repos/{owner}/{repo}/community/profile\"],\n getContent: [\"GET /repos/{owner}/{repo}/contents/{path}\"],\n getContributorsStats: [\"GET /repos/{owner}/{repo}/stats/contributors\"],\n getDeployKey: [\"GET /repos/{owner}/{repo}/keys/{key_id}\"],\n getDeployment: [\"GET /repos/{owner}/{repo}/deployments/{deployment_id}\"],\n getDeploymentStatus: [\n \"GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}\",\n ],\n getEnvironment: [\n \"GET /repos/{owner}/{repo}/environments/{environment_name}\",\n ],\n getLatestPagesBuild: [\"GET /repos/{owner}/{repo}/pages/builds/latest\"],\n getLatestRelease: [\"GET /repos/{owner}/{repo}/releases/latest\"],\n getPages: [\"GET /repos/{owner}/{repo}/pages\"],\n getPagesBuild: [\"GET /repos/{owner}/{repo}/pages/builds/{build_id}\"],\n getPagesHealthCheck: [\"GET /repos/{owner}/{repo}/pages/health\"],\n getParticipationStats: [\"GET /repos/{owner}/{repo}/stats/participation\"],\n getPullRequestReviewProtection: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\",\n ],\n getPunchCardStats: [\"GET /repos/{owner}/{repo}/stats/punch_card\"],\n getReadme: [\"GET /repos/{owner}/{repo}/readme\"],\n getReadmeInDirectory: [\"GET /repos/{owner}/{repo}/readme/{dir}\"],\n getRelease: [\"GET /repos/{owner}/{repo}/releases/{release_id}\"],\n getReleaseAsset: [\"GET /repos/{owner}/{repo}/releases/assets/{asset_id}\"],\n getReleaseByTag: [\"GET /repos/{owner}/{repo}/releases/tags/{tag}\"],\n getStatusChecksProtection: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\",\n ],\n getTeamsWithAccessToProtectedBranch: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\",\n ],\n getTopPaths: [\"GET /repos/{owner}/{repo}/traffic/popular/paths\"],\n getTopReferrers: [\"GET /repos/{owner}/{repo}/traffic/popular/referrers\"],\n getUsersWithAccessToProtectedBranch: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\",\n ],\n getViews: [\"GET /repos/{owner}/{repo}/traffic/views\"],\n getWebhook: [\"GET /repos/{owner}/{repo}/hooks/{hook_id}\"],\n getWebhookConfigForRepo: [\n \"GET /repos/{owner}/{repo}/hooks/{hook_id}/config\",\n ],\n getWebhookDelivery: [\n \"GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}\",\n ],\n listAutolinks: [\"GET /repos/{owner}/{repo}/autolinks\"],\n listBranches: [\"GET /repos/{owner}/{repo}/branches\"],\n listBranchesForHeadCommit: [\n \"GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head\",\n ],\n listCollaborators: [\"GET /repos/{owner}/{repo}/collaborators\"],\n listCommentsForCommit: [\n \"GET /repos/{owner}/{repo}/commits/{commit_sha}/comments\",\n ],\n listCommitCommentsForRepo: [\"GET /repos/{owner}/{repo}/comments\"],\n listCommitStatusesForRef: [\n \"GET /repos/{owner}/{repo}/commits/{ref}/statuses\",\n ],\n listCommits: [\"GET /repos/{owner}/{repo}/commits\"],\n listContributors: [\"GET /repos/{owner}/{repo}/contributors\"],\n listDeployKeys: [\"GET /repos/{owner}/{repo}/keys\"],\n listDeploymentStatuses: [\n \"GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses\",\n ],\n listDeployments: [\"GET /repos/{owner}/{repo}/deployments\"],\n listForAuthenticatedUser: [\"GET /user/repos\"],\n listForOrg: [\"GET /orgs/{org}/repos\"],\n listForUser: [\"GET /users/{username}/repos\"],\n listForks: [\"GET /repos/{owner}/{repo}/forks\"],\n listInvitations: [\"GET /repos/{owner}/{repo}/invitations\"],\n listInvitationsForAuthenticatedUser: [\"GET /user/repository_invitations\"],\n listLanguages: [\"GET /repos/{owner}/{repo}/languages\"],\n listPagesBuilds: [\"GET /repos/{owner}/{repo}/pages/builds\"],\n listPublic: [\"GET /repositories\"],\n listPullRequestsAssociatedWithCommit: [\n \"GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls\",\n ],\n listReleaseAssets: [\n \"GET /repos/{owner}/{repo}/releases/{release_id}/assets\",\n ],\n listReleases: [\"GET /repos/{owner}/{repo}/releases\"],\n listTagProtection: [\"GET /repos/{owner}/{repo}/tags/protection\"],\n listTags: [\"GET /repos/{owner}/{repo}/tags\"],\n listTeams: [\"GET /repos/{owner}/{repo}/teams\"],\n listWebhookDeliveries: [\n \"GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries\",\n ],\n listWebhooks: [\"GET /repos/{owner}/{repo}/hooks\"],\n merge: [\"POST /repos/{owner}/{repo}/merges\"],\n mergeUpstream: [\"POST /repos/{owner}/{repo}/merge-upstream\"],\n pingWebhook: [\"POST /repos/{owner}/{repo}/hooks/{hook_id}/pings\"],\n redeliverWebhookDelivery: [\n \"POST /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts\",\n ],\n removeAppAccessRestrictions: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\",\n {},\n { mapToData: \"apps\" },\n ],\n removeCollaborator: [\n \"DELETE /repos/{owner}/{repo}/collaborators/{username}\",\n ],\n removeStatusCheckContexts: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\",\n {},\n { mapToData: \"contexts\" },\n ],\n removeStatusCheckProtection: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\",\n ],\n removeTeamAccessRestrictions: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\",\n {},\n { mapToData: \"teams\" },\n ],\n removeUserAccessRestrictions: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\",\n {},\n { mapToData: \"users\" },\n ],\n renameBranch: [\"POST /repos/{owner}/{repo}/branches/{branch}/rename\"],\n replaceAllTopics: [\"PUT /repos/{owner}/{repo}/topics\"],\n requestPagesBuild: [\"POST /repos/{owner}/{repo}/pages/builds\"],\n setAdminBranchProtection: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\",\n ],\n setAppAccessRestrictions: [\n \"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\",\n {},\n { mapToData: \"apps\" },\n ],\n setStatusCheckContexts: [\n \"PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\",\n {},\n { mapToData: \"contexts\" },\n ],\n setTeamAccessRestrictions: [\n \"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\",\n {},\n { mapToData: \"teams\" },\n ],\n setUserAccessRestrictions: [\n \"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\",\n {},\n { mapToData: \"users\" },\n ],\n testPushWebhook: [\"POST /repos/{owner}/{repo}/hooks/{hook_id}/tests\"],\n transfer: [\"POST /repos/{owner}/{repo}/transfer\"],\n update: [\"PATCH /repos/{owner}/{repo}\"],\n updateBranchProtection: [\n \"PUT /repos/{owner}/{repo}/branches/{branch}/protection\",\n ],\n updateCommitComment: [\"PATCH /repos/{owner}/{repo}/comments/{comment_id}\"],\n updateInformationAboutPagesSite: [\"PUT /repos/{owner}/{repo}/pages\"],\n updateInvitation: [\n \"PATCH /repos/{owner}/{repo}/invitations/{invitation_id}\",\n ],\n updatePullRequestReviewProtection: [\n \"PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\",\n ],\n updateRelease: [\"PATCH /repos/{owner}/{repo}/releases/{release_id}\"],\n updateReleaseAsset: [\n \"PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}\",\n ],\n updateStatusCheckPotection: [\n \"PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\",\n {},\n { renamed: [\"repos\", \"updateStatusCheckProtection\"] },\n ],\n updateStatusCheckProtection: [\n \"PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\",\n ],\n updateWebhook: [\"PATCH /repos/{owner}/{repo}/hooks/{hook_id}\"],\n updateWebhookConfigForRepo: [\n \"PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config\",\n ],\n uploadReleaseAsset: [\n \"POST /repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}\",\n { baseUrl: \"https://uploads.github.com\" },\n ],\n },\n search: {\n code: [\"GET /search/code\"],\n commits: [\"GET /search/commits\"],\n issuesAndPullRequests: [\"GET /search/issues\"],\n labels: [\"GET /search/labels\"],\n repos: [\"GET /search/repositories\"],\n topics: [\"GET /search/topics\"],\n users: [\"GET /search/users\"],\n },\n secretScanning: {\n getAlert: [\n \"GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}\",\n ],\n listAlertsForEnterprise: [\n \"GET /enterprises/{enterprise}/secret-scanning/alerts\",\n ],\n listAlertsForOrg: [\"GET /orgs/{org}/secret-scanning/alerts\"],\n listAlertsForRepo: [\"GET /repos/{owner}/{repo}/secret-scanning/alerts\"],\n listLocationsForAlert: [\n \"GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations\",\n ],\n updateAlert: [\n \"PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}\",\n ],\n },\n teams: {\n addOrUpdateMembershipForUserInOrg: [\n \"PUT /orgs/{org}/teams/{team_slug}/memberships/{username}\",\n ],\n addOrUpdateProjectPermissionsInOrg: [\n \"PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}\",\n ],\n addOrUpdateRepoPermissionsInOrg: [\n \"PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\",\n ],\n checkPermissionsForProjectInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/projects/{project_id}\",\n ],\n checkPermissionsForRepoInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\",\n ],\n create: [\"POST /orgs/{org}/teams\"],\n createDiscussionCommentInOrg: [\n \"POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments\",\n ],\n createDiscussionInOrg: [\"POST /orgs/{org}/teams/{team_slug}/discussions\"],\n deleteDiscussionCommentInOrg: [\n \"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}\",\n ],\n deleteDiscussionInOrg: [\n \"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}\",\n ],\n deleteInOrg: [\"DELETE /orgs/{org}/teams/{team_slug}\"],\n getByName: [\"GET /orgs/{org}/teams/{team_slug}\"],\n getDiscussionCommentInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}\",\n ],\n getDiscussionInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}\",\n ],\n getMembershipForUserInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/memberships/{username}\",\n ],\n list: [\"GET /orgs/{org}/teams\"],\n listChildInOrg: [\"GET /orgs/{org}/teams/{team_slug}/teams\"],\n listDiscussionCommentsInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments\",\n ],\n listDiscussionsInOrg: [\"GET /orgs/{org}/teams/{team_slug}/discussions\"],\n listForAuthenticatedUser: [\"GET /user/teams\"],\n listMembersInOrg: [\"GET /orgs/{org}/teams/{team_slug}/members\"],\n listPendingInvitationsInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/invitations\",\n ],\n listProjectsInOrg: [\"GET /orgs/{org}/teams/{team_slug}/projects\"],\n listReposInOrg: [\"GET /orgs/{org}/teams/{team_slug}/repos\"],\n removeMembershipForUserInOrg: [\n \"DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}\",\n ],\n removeProjectInOrg: [\n \"DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}\",\n ],\n removeRepoInOrg: [\n \"DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\",\n ],\n updateDiscussionCommentInOrg: [\n \"PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}\",\n ],\n updateDiscussionInOrg: [\n \"PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}\",\n ],\n updateInOrg: [\"PATCH /orgs/{org}/teams/{team_slug}\"],\n },\n users: {\n addEmailForAuthenticated: [\n \"POST /user/emails\",\n {},\n { renamed: [\"users\", \"addEmailForAuthenticatedUser\"] },\n ],\n addEmailForAuthenticatedUser: [\"POST /user/emails\"],\n block: [\"PUT /user/blocks/{username}\"],\n checkBlocked: [\"GET /user/blocks/{username}\"],\n checkFollowingForUser: [\"GET /users/{username}/following/{target_user}\"],\n checkPersonIsFollowedByAuthenticated: [\"GET /user/following/{username}\"],\n createGpgKeyForAuthenticated: [\n \"POST /user/gpg_keys\",\n {},\n { renamed: [\"users\", \"createGpgKeyForAuthenticatedUser\"] },\n ],\n createGpgKeyForAuthenticatedUser: [\"POST /user/gpg_keys\"],\n createPublicSshKeyForAuthenticated: [\n \"POST /user/keys\",\n {},\n { renamed: [\"users\", \"createPublicSshKeyForAuthenticatedUser\"] },\n ],\n createPublicSshKeyForAuthenticatedUser: [\"POST /user/keys\"],\n deleteEmailForAuthenticated: [\n \"DELETE /user/emails\",\n {},\n { renamed: [\"users\", \"deleteEmailForAuthenticatedUser\"] },\n ],\n deleteEmailForAuthenticatedUser: [\"DELETE /user/emails\"],\n deleteGpgKeyForAuthenticated: [\n \"DELETE /user/gpg_keys/{gpg_key_id}\",\n {},\n { renamed: [\"users\", \"deleteGpgKeyForAuthenticatedUser\"] },\n ],\n deleteGpgKeyForAuthenticatedUser: [\"DELETE /user/gpg_keys/{gpg_key_id}\"],\n deletePublicSshKeyForAuthenticated: [\n \"DELETE /user/keys/{key_id}\",\n {},\n { renamed: [\"users\", \"deletePublicSshKeyForAuthenticatedUser\"] },\n ],\n deletePublicSshKeyForAuthenticatedUser: [\"DELETE /user/keys/{key_id}\"],\n follow: [\"PUT /user/following/{username}\"],\n getAuthenticated: [\"GET /user\"],\n getByUsername: [\"GET /users/{username}\"],\n getContextForUser: [\"GET /users/{username}/hovercard\"],\n getGpgKeyForAuthenticated: [\n \"GET /user/gpg_keys/{gpg_key_id}\",\n {},\n { renamed: [\"users\", \"getGpgKeyForAuthenticatedUser\"] },\n ],\n getGpgKeyForAuthenticatedUser: [\"GET /user/gpg_keys/{gpg_key_id}\"],\n getPublicSshKeyForAuthenticated: [\n \"GET /user/keys/{key_id}\",\n {},\n { renamed: [\"users\", \"getPublicSshKeyForAuthenticatedUser\"] },\n ],\n getPublicSshKeyForAuthenticatedUser: [\"GET /user/keys/{key_id}\"],\n list: [\"GET /users\"],\n listBlockedByAuthenticated: [\n \"GET /user/blocks\",\n {},\n { renamed: [\"users\", \"listBlockedByAuthenticatedUser\"] },\n ],\n listBlockedByAuthenticatedUser: [\"GET /user/blocks\"],\n listEmailsForAuthenticated: [\n \"GET /user/emails\",\n {},\n { renamed: [\"users\", \"listEmailsForAuthenticatedUser\"] },\n ],\n listEmailsForAuthenticatedUser: [\"GET /user/emails\"],\n listFollowedByAuthenticated: [\n \"GET /user/following\",\n {},\n { renamed: [\"users\", \"listFollowedByAuthenticatedUser\"] },\n ],\n listFollowedByAuthenticatedUser: [\"GET /user/following\"],\n listFollowersForAuthenticatedUser: [\"GET /user/followers\"],\n listFollowersForUser: [\"GET /users/{username}/followers\"],\n listFollowingForUser: [\"GET /users/{username}/following\"],\n listGpgKeysForAuthenticated: [\n \"GET /user/gpg_keys\",\n {},\n { renamed: [\"users\", \"listGpgKeysForAuthenticatedUser\"] },\n ],\n listGpgKeysForAuthenticatedUser: [\"GET /user/gpg_keys\"],\n listGpgKeysForUser: [\"GET /users/{username}/gpg_keys\"],\n listPublicEmailsForAuthenticated: [\n \"GET /user/public_emails\",\n {},\n { renamed: [\"users\", \"listPublicEmailsForAuthenticatedUser\"] },\n ],\n listPublicEmailsForAuthenticatedUser: [\"GET /user/public_emails\"],\n listPublicKeysForUser: [\"GET /users/{username}/keys\"],\n listPublicSshKeysForAuthenticated: [\n \"GET /user/keys\",\n {},\n { renamed: [\"users\", \"listPublicSshKeysForAuthenticatedUser\"] },\n ],\n listPublicSshKeysForAuthenticatedUser: [\"GET /user/keys\"],\n setPrimaryEmailVisibilityForAuthenticated: [\n \"PATCH /user/email/visibility\",\n {},\n { renamed: [\"users\", \"setPrimaryEmailVisibilityForAuthenticatedUser\"] },\n ],\n setPrimaryEmailVisibilityForAuthenticatedUser: [\n \"PATCH /user/email/visibility\",\n ],\n unblock: [\"DELETE /user/blocks/{username}\"],\n unfollow: [\"DELETE /user/following/{username}\"],\n updateAuthenticated: [\"PATCH /user\"],\n },\n};\nexport default Endpoints;\n","export const VERSION = \"5.16.2\";\n","export function endpointsToMethods(octokit, endpointsMap) {\n const newMethods = {};\n for (const [scope, endpoints] of Object.entries(endpointsMap)) {\n for (const [methodName, endpoint] of Object.entries(endpoints)) {\n const [route, defaults, decorations] = endpoint;\n const [method, url] = route.split(/ /);\n const endpointDefaults = Object.assign({ method, url }, defaults);\n if (!newMethods[scope]) {\n newMethods[scope] = {};\n }\n const scopeMethods = newMethods[scope];\n if (decorations) {\n scopeMethods[methodName] = decorate(octokit, scope, methodName, endpointDefaults, decorations);\n continue;\n }\n scopeMethods[methodName] = octokit.request.defaults(endpointDefaults);\n }\n }\n return newMethods;\n}\nfunction decorate(octokit, scope, methodName, defaults, decorations) {\n const requestWithDefaults = octokit.request.defaults(defaults);\n /* istanbul ignore next */\n function withDecorations(...args) {\n // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488\n let options = requestWithDefaults.endpoint.merge(...args);\n // There are currently no other decorations than `.mapToData`\n if (decorations.mapToData) {\n options = Object.assign({}, options, {\n data: options[decorations.mapToData],\n [decorations.mapToData]: undefined,\n });\n return requestWithDefaults(options);\n }\n if (decorations.renamed) {\n const [newScope, newMethodName] = decorations.renamed;\n octokit.log.warn(`octokit.${scope}.${methodName}() has been renamed to octokit.${newScope}.${newMethodName}()`);\n }\n if (decorations.deprecated) {\n octokit.log.warn(decorations.deprecated);\n }\n if (decorations.renamedParameters) {\n // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488\n const options = requestWithDefaults.endpoint.merge(...args);\n for (const [name, alias] of Object.entries(decorations.renamedParameters)) {\n if (name in options) {\n octokit.log.warn(`\"${name}\" parameter is deprecated for \"octokit.${scope}.${methodName}()\". Use \"${alias}\" instead`);\n if (!(alias in options)) {\n options[alias] = options[name];\n }\n delete options[name];\n }\n }\n return requestWithDefaults(options);\n }\n // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488\n return requestWithDefaults(...args);\n }\n return Object.assign(withDecorations, requestWithDefaults);\n}\n","import ENDPOINTS from \"./generated/endpoints\";\nimport { VERSION } from \"./version\";\nimport { endpointsToMethods } from \"./endpoints-to-methods\";\nexport function restEndpointMethods(octokit) {\n const api = endpointsToMethods(octokit, ENDPOINTS);\n return {\n rest: api,\n };\n}\nrestEndpointMethods.VERSION = VERSION;\nexport function legacyRestEndpointMethods(octokit) {\n const api = endpointsToMethods(octokit, ENDPOINTS);\n return {\n ...api,\n rest: api,\n };\n}\nlegacyRestEndpointMethods.VERSION = VERSION;\n","export const VERSION = \"2.21.3\";\n","/**\n * Some “list” response that can be paginated have a different response structure\n *\n * They have a `total_count` key in the response (search also has `incomplete_results`,\n * /installation/repositories also has `repository_selection`), as well as a key with\n * the list of the items which name varies from endpoint to endpoint.\n *\n * Octokit normalizes these responses so that paginated results are always returned following\n * the same structure. One challenge is that if the list response has only one page, no Link\n * header is provided, so this header alone is not sufficient to check wether a response is\n * paginated or not.\n *\n * We check if a \"total_count\" key is present in the response data, but also make sure that\n * a \"url\" property is not, as the \"Get the combined status for a specific ref\" endpoint would\n * otherwise match: https://developer.github.com/v3/repos/statuses/#get-the-combined-status-for-a-specific-ref\n */\nexport function normalizePaginatedListResponse(response) {\n // endpoints can respond with 204 if repository is empty\n if (!response.data) {\n return {\n ...response,\n data: [],\n };\n }\n const responseNeedsNormalization = \"total_count\" in response.data && !(\"url\" in response.data);\n if (!responseNeedsNormalization)\n return response;\n // keep the additional properties intact as there is currently no other way\n // to retrieve the same information.\n const incompleteResults = response.data.incomplete_results;\n const repositorySelection = response.data.repository_selection;\n const totalCount = response.data.total_count;\n delete response.data.incomplete_results;\n delete response.data.repository_selection;\n delete response.data.total_count;\n const namespaceKey = Object.keys(response.data)[0];\n const data = response.data[namespaceKey];\n response.data = data;\n if (typeof incompleteResults !== \"undefined\") {\n response.data.incomplete_results = incompleteResults;\n }\n if (typeof repositorySelection !== \"undefined\") {\n response.data.repository_selection = repositorySelection;\n }\n response.data.total_count = totalCount;\n return response;\n}\n","import { normalizePaginatedListResponse } from \"./normalize-paginated-list-response\";\nexport function iterator(octokit, route, parameters) {\n const options = typeof route === \"function\"\n ? route.endpoint(parameters)\n : octokit.request.endpoint(route, parameters);\n const requestMethod = typeof route === \"function\" ? route : octokit.request;\n const method = options.method;\n const headers = options.headers;\n let url = options.url;\n return {\n [Symbol.asyncIterator]: () => ({\n async next() {\n if (!url)\n return { done: true };\n try {\n const response = await requestMethod({ method, url, headers });\n const normalizedResponse = normalizePaginatedListResponse(response);\n // `response.headers.link` format:\n // '; rel=\"next\", ; rel=\"last\"'\n // sets `url` to undefined if \"next\" URL is not present or `link` header is not set\n url = ((normalizedResponse.headers.link || \"\").match(/<([^>]+)>;\\s*rel=\"next\"/) || [])[1];\n return { value: normalizedResponse };\n }\n catch (error) {\n if (error.status !== 409)\n throw error;\n url = \"\";\n return {\n value: {\n status: 200,\n headers: {},\n data: [],\n },\n };\n }\n },\n }),\n };\n}\n","import { iterator } from \"./iterator\";\nexport function paginate(octokit, route, parameters, mapFn) {\n if (typeof parameters === \"function\") {\n mapFn = parameters;\n parameters = undefined;\n }\n return gather(octokit, [], iterator(octokit, route, parameters)[Symbol.asyncIterator](), mapFn);\n}\nfunction gather(octokit, results, iterator, mapFn) {\n return iterator.next().then((result) => {\n if (result.done) {\n return results;\n }\n let earlyExit = false;\n function done() {\n earlyExit = true;\n }\n results = results.concat(mapFn ? mapFn(result.value, done) : result.value.data);\n if (earlyExit) {\n return results;\n }\n return gather(octokit, results, iterator, mapFn);\n });\n}\n","import { paginate } from \"./paginate\";\nimport { iterator } from \"./iterator\";\nexport const composePaginateRest = Object.assign(paginate, {\n iterator,\n});\n","export const paginatingEndpoints = [\n \"GET /app/hook/deliveries\",\n \"GET /app/installations\",\n \"GET /applications/grants\",\n \"GET /authorizations\",\n \"GET /enterprises/{enterprise}/actions/permissions/organizations\",\n \"GET /enterprises/{enterprise}/actions/runner-groups\",\n \"GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations\",\n \"GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners\",\n \"GET /enterprises/{enterprise}/actions/runners\",\n \"GET /enterprises/{enterprise}/audit-log\",\n \"GET /enterprises/{enterprise}/secret-scanning/alerts\",\n \"GET /enterprises/{enterprise}/settings/billing/advanced-security\",\n \"GET /events\",\n \"GET /gists\",\n \"GET /gists/public\",\n \"GET /gists/starred\",\n \"GET /gists/{gist_id}/comments\",\n \"GET /gists/{gist_id}/commits\",\n \"GET /gists/{gist_id}/forks\",\n \"GET /installation/repositories\",\n \"GET /issues\",\n \"GET /licenses\",\n \"GET /marketplace_listing/plans\",\n \"GET /marketplace_listing/plans/{plan_id}/accounts\",\n \"GET /marketplace_listing/stubbed/plans\",\n \"GET /marketplace_listing/stubbed/plans/{plan_id}/accounts\",\n \"GET /networks/{owner}/{repo}/events\",\n \"GET /notifications\",\n \"GET /organizations\",\n \"GET /orgs/{org}/actions/cache/usage-by-repository\",\n \"GET /orgs/{org}/actions/permissions/repositories\",\n \"GET /orgs/{org}/actions/runner-groups\",\n \"GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories\",\n \"GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners\",\n \"GET /orgs/{org}/actions/runners\",\n \"GET /orgs/{org}/actions/secrets\",\n \"GET /orgs/{org}/actions/secrets/{secret_name}/repositories\",\n \"GET /orgs/{org}/audit-log\",\n \"GET /orgs/{org}/blocks\",\n \"GET /orgs/{org}/code-scanning/alerts\",\n \"GET /orgs/{org}/codespaces\",\n \"GET /orgs/{org}/credential-authorizations\",\n \"GET /orgs/{org}/dependabot/secrets\",\n \"GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories\",\n \"GET /orgs/{org}/events\",\n \"GET /orgs/{org}/external-groups\",\n \"GET /orgs/{org}/failed_invitations\",\n \"GET /orgs/{org}/hooks\",\n \"GET /orgs/{org}/hooks/{hook_id}/deliveries\",\n \"GET /orgs/{org}/installations\",\n \"GET /orgs/{org}/invitations\",\n \"GET /orgs/{org}/invitations/{invitation_id}/teams\",\n \"GET /orgs/{org}/issues\",\n \"GET /orgs/{org}/members\",\n \"GET /orgs/{org}/migrations\",\n \"GET /orgs/{org}/migrations/{migration_id}/repositories\",\n \"GET /orgs/{org}/outside_collaborators\",\n \"GET /orgs/{org}/packages\",\n \"GET /orgs/{org}/packages/{package_type}/{package_name}/versions\",\n \"GET /orgs/{org}/projects\",\n \"GET /orgs/{org}/public_members\",\n \"GET /orgs/{org}/repos\",\n \"GET /orgs/{org}/secret-scanning/alerts\",\n \"GET /orgs/{org}/settings/billing/advanced-security\",\n \"GET /orgs/{org}/team-sync/groups\",\n \"GET /orgs/{org}/teams\",\n \"GET /orgs/{org}/teams/{team_slug}/discussions\",\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments\",\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions\",\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions\",\n \"GET /orgs/{org}/teams/{team_slug}/invitations\",\n \"GET /orgs/{org}/teams/{team_slug}/members\",\n \"GET /orgs/{org}/teams/{team_slug}/projects\",\n \"GET /orgs/{org}/teams/{team_slug}/repos\",\n \"GET /orgs/{org}/teams/{team_slug}/teams\",\n \"GET /projects/columns/{column_id}/cards\",\n \"GET /projects/{project_id}/collaborators\",\n \"GET /projects/{project_id}/columns\",\n \"GET /repos/{owner}/{repo}/actions/artifacts\",\n \"GET /repos/{owner}/{repo}/actions/caches\",\n \"GET /repos/{owner}/{repo}/actions/runners\",\n \"GET /repos/{owner}/{repo}/actions/runs\",\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts\",\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs\",\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs\",\n \"GET /repos/{owner}/{repo}/actions/secrets\",\n \"GET /repos/{owner}/{repo}/actions/workflows\",\n \"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs\",\n \"GET /repos/{owner}/{repo}/assignees\",\n \"GET /repos/{owner}/{repo}/branches\",\n \"GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations\",\n \"GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs\",\n \"GET /repos/{owner}/{repo}/code-scanning/alerts\",\n \"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances\",\n \"GET /repos/{owner}/{repo}/code-scanning/analyses\",\n \"GET /repos/{owner}/{repo}/codespaces\",\n \"GET /repos/{owner}/{repo}/codespaces/devcontainers\",\n \"GET /repos/{owner}/{repo}/codespaces/secrets\",\n \"GET /repos/{owner}/{repo}/collaborators\",\n \"GET /repos/{owner}/{repo}/comments\",\n \"GET /repos/{owner}/{repo}/comments/{comment_id}/reactions\",\n \"GET /repos/{owner}/{repo}/commits\",\n \"GET /repos/{owner}/{repo}/commits/{commit_sha}/comments\",\n \"GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls\",\n \"GET /repos/{owner}/{repo}/commits/{ref}/check-runs\",\n \"GET /repos/{owner}/{repo}/commits/{ref}/check-suites\",\n \"GET /repos/{owner}/{repo}/commits/{ref}/status\",\n \"GET /repos/{owner}/{repo}/commits/{ref}/statuses\",\n \"GET /repos/{owner}/{repo}/contributors\",\n \"GET /repos/{owner}/{repo}/dependabot/secrets\",\n \"GET /repos/{owner}/{repo}/deployments\",\n \"GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses\",\n \"GET /repos/{owner}/{repo}/environments\",\n \"GET /repos/{owner}/{repo}/events\",\n \"GET /repos/{owner}/{repo}/forks\",\n \"GET /repos/{owner}/{repo}/git/matching-refs/{ref}\",\n \"GET /repos/{owner}/{repo}/hooks\",\n \"GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries\",\n \"GET /repos/{owner}/{repo}/invitations\",\n \"GET /repos/{owner}/{repo}/issues\",\n \"GET /repos/{owner}/{repo}/issues/comments\",\n \"GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions\",\n \"GET /repos/{owner}/{repo}/issues/events\",\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/comments\",\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/events\",\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/labels\",\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/reactions\",\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/timeline\",\n \"GET /repos/{owner}/{repo}/keys\",\n \"GET /repos/{owner}/{repo}/labels\",\n \"GET /repos/{owner}/{repo}/milestones\",\n \"GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels\",\n \"GET /repos/{owner}/{repo}/notifications\",\n \"GET /repos/{owner}/{repo}/pages/builds\",\n \"GET /repos/{owner}/{repo}/projects\",\n \"GET /repos/{owner}/{repo}/pulls\",\n \"GET /repos/{owner}/{repo}/pulls/comments\",\n \"GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions\",\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/comments\",\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/commits\",\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/files\",\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\",\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews\",\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments\",\n \"GET /repos/{owner}/{repo}/releases\",\n \"GET /repos/{owner}/{repo}/releases/{release_id}/assets\",\n \"GET /repos/{owner}/{repo}/releases/{release_id}/reactions\",\n \"GET /repos/{owner}/{repo}/secret-scanning/alerts\",\n \"GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations\",\n \"GET /repos/{owner}/{repo}/stargazers\",\n \"GET /repos/{owner}/{repo}/subscribers\",\n \"GET /repos/{owner}/{repo}/tags\",\n \"GET /repos/{owner}/{repo}/teams\",\n \"GET /repos/{owner}/{repo}/topics\",\n \"GET /repositories\",\n \"GET /repositories/{repository_id}/environments/{environment_name}/secrets\",\n \"GET /search/code\",\n \"GET /search/commits\",\n \"GET /search/issues\",\n \"GET /search/labels\",\n \"GET /search/repositories\",\n \"GET /search/topics\",\n \"GET /search/users\",\n \"GET /teams/{team_id}/discussions\",\n \"GET /teams/{team_id}/discussions/{discussion_number}/comments\",\n \"GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions\",\n \"GET /teams/{team_id}/discussions/{discussion_number}/reactions\",\n \"GET /teams/{team_id}/invitations\",\n \"GET /teams/{team_id}/members\",\n \"GET /teams/{team_id}/projects\",\n \"GET /teams/{team_id}/repos\",\n \"GET /teams/{team_id}/teams\",\n \"GET /user/blocks\",\n \"GET /user/codespaces\",\n \"GET /user/codespaces/secrets\",\n \"GET /user/emails\",\n \"GET /user/followers\",\n \"GET /user/following\",\n \"GET /user/gpg_keys\",\n \"GET /user/installations\",\n \"GET /user/installations/{installation_id}/repositories\",\n \"GET /user/issues\",\n \"GET /user/keys\",\n \"GET /user/marketplace_purchases\",\n \"GET /user/marketplace_purchases/stubbed\",\n \"GET /user/memberships/orgs\",\n \"GET /user/migrations\",\n \"GET /user/migrations/{migration_id}/repositories\",\n \"GET /user/orgs\",\n \"GET /user/packages\",\n \"GET /user/packages/{package_type}/{package_name}/versions\",\n \"GET /user/public_emails\",\n \"GET /user/repos\",\n \"GET /user/repository_invitations\",\n \"GET /user/starred\",\n \"GET /user/subscriptions\",\n \"GET /user/teams\",\n \"GET /users\",\n \"GET /users/{username}/events\",\n \"GET /users/{username}/events/orgs/{org}\",\n \"GET /users/{username}/events/public\",\n \"GET /users/{username}/followers\",\n \"GET /users/{username}/following\",\n \"GET /users/{username}/gists\",\n \"GET /users/{username}/gpg_keys\",\n \"GET /users/{username}/keys\",\n \"GET /users/{username}/orgs\",\n \"GET /users/{username}/packages\",\n \"GET /users/{username}/projects\",\n \"GET /users/{username}/received_events\",\n \"GET /users/{username}/received_events/public\",\n \"GET /users/{username}/repos\",\n \"GET /users/{username}/starred\",\n \"GET /users/{username}/subscriptions\",\n];\n","import { paginatingEndpoints, } from \"./generated/paginating-endpoints\";\nexport { paginatingEndpoints } from \"./generated/paginating-endpoints\";\nexport function isPaginatingEndpoint(arg) {\n if (typeof arg === \"string\") {\n return paginatingEndpoints.includes(arg);\n }\n else {\n return false;\n }\n}\n","import { VERSION } from \"./version\";\nimport { paginate } from \"./paginate\";\nimport { iterator } from \"./iterator\";\nexport { composePaginateRest } from \"./compose-paginate\";\nexport { isPaginatingEndpoint, paginatingEndpoints, } from \"./paginating-endpoints\";\n/**\n * @param octokit Octokit instance\n * @param options Options passed to Octokit constructor\n */\nexport function paginateRest(octokit) {\n return {\n paginate: Object.assign(paginate.bind(null, octokit), {\n iterator: iterator.bind(null, octokit),\n }),\n };\n}\npaginateRest.VERSION = VERSION;\n",null,null,null,null,"import crypto from 'crypto';\nconst rnds8Pool = new Uint8Array(256); // # of random values to pre-allocate\n\nlet poolPtr = rnds8Pool.length;\nexport default function rng() {\n if (poolPtr > rnds8Pool.length - 16) {\n crypto.randomFillSync(rnds8Pool);\n poolPtr = 0;\n }\n\n return rnds8Pool.slice(poolPtr, poolPtr += 16);\n}","export default /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;","import REGEX from './regex.js';\n\nfunction validate(uuid) {\n return typeof uuid === 'string' && REGEX.test(uuid);\n}\n\nexport default validate;","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nconst byteToHex = [];\n\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).substr(1));\n}\n\nfunction stringify(arr, offset = 0) {\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n const uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;","import rng from './rng.js';\nimport stringify from './stringify.js'; // **`v1()` - Generate time-based UUID**\n//\n// Inspired by https://github.com/LiosK/UUID.js\n// and http://docs.python.org/library/uuid.html\n\nlet _nodeId;\n\nlet _clockseq; // Previous uuid creation time\n\n\nlet _lastMSecs = 0;\nlet _lastNSecs = 0; // See https://github.com/uuidjs/uuid for API details\n\nfunction v1(options, buf, offset) {\n let i = buf && offset || 0;\n const b = buf || new Array(16);\n options = options || {};\n let node = options.node || _nodeId;\n let clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq; // node and clockseq need to be initialized to random values if they're not\n // specified. We do this lazily to minimize issues related to insufficient\n // system entropy. See #189\n\n if (node == null || clockseq == null) {\n const seedBytes = options.random || (options.rng || rng)();\n\n if (node == null) {\n // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1)\n node = _nodeId = [seedBytes[0] | 0x01, seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]];\n }\n\n if (clockseq == null) {\n // Per 4.2.2, randomize (14 bit) clockseq\n clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff;\n }\n } // UUID timestamps are 100 nano-second units since the Gregorian epoch,\n // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so\n // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs'\n // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00.\n\n\n let msecs = options.msecs !== undefined ? options.msecs : Date.now(); // Per 4.2.1.2, use count of uuid's generated during the current clock\n // cycle to simulate higher resolution clock\n\n let nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1; // Time since last uuid creation (in msecs)\n\n const dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 10000; // Per 4.2.1.2, Bump clockseq on clock regression\n\n if (dt < 0 && options.clockseq === undefined) {\n clockseq = clockseq + 1 & 0x3fff;\n } // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new\n // time interval\n\n\n if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) {\n nsecs = 0;\n } // Per 4.2.1.2 Throw error if too many uuids are requested\n\n\n if (nsecs >= 10000) {\n throw new Error(\"uuid.v1(): Can't create more than 10M uuids/sec\");\n }\n\n _lastMSecs = msecs;\n _lastNSecs = nsecs;\n _clockseq = clockseq; // Per 4.1.4 - Convert from unix epoch to Gregorian epoch\n\n msecs += 12219292800000; // `time_low`\n\n const tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000;\n b[i++] = tl >>> 24 & 0xff;\n b[i++] = tl >>> 16 & 0xff;\n b[i++] = tl >>> 8 & 0xff;\n b[i++] = tl & 0xff; // `time_mid`\n\n const tmh = msecs / 0x100000000 * 10000 & 0xfffffff;\n b[i++] = tmh >>> 8 & 0xff;\n b[i++] = tmh & 0xff; // `time_high_and_version`\n\n b[i++] = tmh >>> 24 & 0xf | 0x10; // include version\n\n b[i++] = tmh >>> 16 & 0xff; // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant)\n\n b[i++] = clockseq >>> 8 | 0x80; // `clock_seq_low`\n\n b[i++] = clockseq & 0xff; // `node`\n\n for (let n = 0; n < 6; ++n) {\n b[i + n] = node[n];\n }\n\n return buf || stringify(b);\n}\n\nexport default v1;","import validate from './validate.js';\n\nfunction parse(uuid) {\n if (!validate(uuid)) {\n throw TypeError('Invalid UUID');\n }\n\n let v;\n const arr = new Uint8Array(16); // Parse ########-....-....-....-............\n\n arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24;\n arr[1] = v >>> 16 & 0xff;\n arr[2] = v >>> 8 & 0xff;\n arr[3] = v & 0xff; // Parse ........-####-....-....-............\n\n arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8;\n arr[5] = v & 0xff; // Parse ........-....-####-....-............\n\n arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8;\n arr[7] = v & 0xff; // Parse ........-....-....-####-............\n\n arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8;\n arr[9] = v & 0xff; // Parse ........-....-....-....-############\n // (Use \"/\" to avoid 32-bit truncation when bit-shifting high-order bytes)\n\n arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 0x10000000000 & 0xff;\n arr[11] = v / 0x100000000 & 0xff;\n arr[12] = v >>> 24 & 0xff;\n arr[13] = v >>> 16 & 0xff;\n arr[14] = v >>> 8 & 0xff;\n arr[15] = v & 0xff;\n return arr;\n}\n\nexport default parse;","import stringify from './stringify.js';\nimport parse from './parse.js';\n\nfunction stringToBytes(str) {\n str = unescape(encodeURIComponent(str)); // UTF8 escape\n\n const bytes = [];\n\n for (let i = 0; i < str.length; ++i) {\n bytes.push(str.charCodeAt(i));\n }\n\n return bytes;\n}\n\nexport const DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8';\nexport const URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8';\nexport default function (name, version, hashfunc) {\n function generateUUID(value, namespace, buf, offset) {\n if (typeof value === 'string') {\n value = stringToBytes(value);\n }\n\n if (typeof namespace === 'string') {\n namespace = parse(namespace);\n }\n\n if (namespace.length !== 16) {\n throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)');\n } // Compute hash of namespace and value, Per 4.3\n // Future: Use spread syntax when supported on all platforms, e.g. `bytes =\n // hashfunc([...namespace, ... value])`\n\n\n let bytes = new Uint8Array(16 + value.length);\n bytes.set(namespace);\n bytes.set(value, namespace.length);\n bytes = hashfunc(bytes);\n bytes[6] = bytes[6] & 0x0f | version;\n bytes[8] = bytes[8] & 0x3f | 0x80;\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = bytes[i];\n }\n\n return buf;\n }\n\n return stringify(bytes);\n } // Function#name is not settable on some platforms (#270)\n\n\n try {\n generateUUID.name = name; // eslint-disable-next-line no-empty\n } catch (err) {} // For CommonJS default export support\n\n\n generateUUID.DNS = DNS;\n generateUUID.URL = URL;\n return generateUUID;\n}","import crypto from 'crypto';\n\nfunction md5(bytes) {\n if (Array.isArray(bytes)) {\n bytes = Buffer.from(bytes);\n } else if (typeof bytes === 'string') {\n bytes = Buffer.from(bytes, 'utf8');\n }\n\n return crypto.createHash('md5').update(bytes).digest();\n}\n\nexport default md5;","import v35 from './v35.js';\nimport md5 from './md5.js';\nconst v3 = v35('v3', 0x30, md5);\nexport default v3;","import rng from './rng.js';\nimport stringify from './stringify.js';\n\nfunction v4(options, buf, offset) {\n options = options || {};\n const rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return stringify(rnds);\n}\n\nexport default v4;","import crypto from 'crypto';\n\nfunction sha1(bytes) {\n if (Array.isArray(bytes)) {\n bytes = Buffer.from(bytes);\n } else if (typeof bytes === 'string') {\n bytes = Buffer.from(bytes, 'utf8');\n }\n\n return crypto.createHash('sha1').update(bytes).digest();\n}\n\nexport default sha1;","import v35 from './v35.js';\nimport sha1 from './sha1.js';\nconst v5 = v35('v5', 0x50, sha1);\nexport default v5;","export default '00000000-0000-0000-0000-000000000000';","import validate from './validate.js';\n\nfunction version(uuid) {\n if (!validate(uuid)) {\n throw TypeError('Invalid UUID');\n }\n\n return parseInt(uuid.substr(14, 1), 16);\n}\n\nexport default version;","export { default as v1 } from './v1.js';\nexport { default as v3 } from './v3.js';\nexport { default as v4 } from './v4.js';\nexport { default as v5 } from './v5.js';\nexport { default as NIL } from './nil.js';\nexport { default as version } from './version.js';\nexport { default as validate } from './validate.js';\nexport { default as stringify } from './stringify.js';\nexport { default as parse } from './parse.js';",null,null,null,null,null,null,"/**\n * Helpers.\n */\n\nvar s = 1000;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nvar w = d * 7;\nvar y = d * 365.25;\n\n/**\n * Parse or format the given `val`.\n *\n * Options:\n *\n * - `long` verbose formatting [false]\n *\n * @param {String|Number} val\n * @param {Object} [options]\n * @throws {Error} throw an error if val is not a non-empty string or a number\n * @return {String|Number}\n * @api public\n */\n\nmodule.exports = function(val, options) {\n options = options || {};\n var type = typeof val;\n if (type === 'string' && val.length > 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","\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","/* 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","'use strict';\n\nmodule.exports = (flag, argv = process.argv) => {\n\tconst prefix = flag.startsWith('-') ? '' : (flag.length === 1 ? '-' : '--');\n\tconst position = argv.indexOf(prefix + flag);\n\tconst terminatorPosition = argv.indexOf('--');\n\treturn position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);\n};\n","'use strict';\nconst os = require('os');\nconst tty = require('tty');\nconst hasFlag = require('has-flag');\n\nconst {env} = process;\n\nlet forceColor;\nif (hasFlag('no-color') ||\n\thasFlag('no-colors') ||\n\thasFlag('color=false') ||\n\thasFlag('color=never')) {\n\tforceColor = 0;\n} else if (hasFlag('color') ||\n\thasFlag('colors') ||\n\thasFlag('color=true') ||\n\thasFlag('color=always')) {\n\tforceColor = 1;\n}\n\nif ('FORCE_COLOR' in env) {\n\tif (env.FORCE_COLOR === 'true') {\n\t\tforceColor = 1;\n\t} else if (env.FORCE_COLOR === 'false') {\n\t\tforceColor = 0;\n\t} else {\n\t\tforceColor = env.FORCE_COLOR.length === 0 ? 1 : Math.min(parseInt(env.FORCE_COLOR, 10), 3);\n\t}\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(haveStream, streamIsTTY) {\n\tif (forceColor === 0) {\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 (haveStream && !streamIsTTY && forceColor === undefined) {\n\t\treturn 0;\n\t}\n\n\tconst min = forceColor || 0;\n\n\tif (env.TERM === 'dumb') {\n\t\treturn min;\n\t}\n\n\tif (process.platform === 'win32') {\n\t\t// Windows 10 build 10586 is the first Windows release that supports 256 colors.\n\t\t// Windows 10 build 14931 is the first release that supports 16m/TrueColor.\n\t\tconst osRelease = os.release().split('.');\n\t\tif (\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', 'GITHUB_ACTIONS', 'BUILDKITE'].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\treturn min;\n}\n\nfunction getSupportLevel(stream) {\n\tconst level = supportsColor(stream, stream && stream.isTTY);\n\treturn translateLevel(level);\n}\n\nmodule.exports = {\n\tsupportsColor: getSupportLevel,\n\tstdout: translateLevel(supportsColor(true, tty.isatty(1))),\n\tstderr: translateLevel(supportsColor(true, tty.isatty(2)))\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","/**\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",null,null,null,"'use strict';\nconst fs = require('fs');\n\nmodule.exports = fp => new Promise(resolve => {\n\tfs.access(fp, err => {\n\t\tresolve(!err);\n\t});\n});\n\nmodule.exports.sync = fp => {\n\ttry {\n\t\tfs.accessSync(fp);\n\t\treturn true;\n\t} catch (err) {\n\t\treturn false;\n\t}\n};\n","'use strict';\nmodule.exports = cb => new Promise(resolve => {\n\tresolve(cb());\n});\n","'use strict';\nconst pTry = require('p-try');\n\nmodule.exports = concurrency => {\n\tif (concurrency < 1) {\n\t\tthrow new TypeError('Expected `concurrency` to be a number from 1 and up');\n\t}\n\n\tconst queue = [];\n\tlet activeCount = 0;\n\n\tconst next = () => {\n\t\tactiveCount--;\n\n\t\tif (queue.length > 0) {\n\t\t\tqueue.shift()();\n\t\t}\n\t};\n\n\treturn fn => new Promise((resolve, reject) => {\n\t\tconst run = () => {\n\t\t\tactiveCount++;\n\n\t\t\tpTry(fn).then(\n\t\t\t\tval => {\n\t\t\t\t\tresolve(val);\n\t\t\t\t\tnext();\n\t\t\t\t},\n\t\t\t\terr => {\n\t\t\t\t\treject(err);\n\t\t\t\t\tnext();\n\t\t\t\t}\n\t\t\t);\n\t\t};\n\n\t\tif (activeCount < concurrency) {\n\t\t\trun();\n\t\t} else {\n\t\t\tqueue.push(run);\n\t\t}\n\t});\n};\n","'use strict';\nconst pLimit = require('p-limit');\n\nclass EndError extends Error {\n\tconstructor(value) {\n\t\tsuper();\n\t\tthis.value = value;\n\t}\n}\n\n// the input can also be a promise, so we `Promise.all()` them both\nconst finder = el => Promise.all(el).then(val => val[1] === true && Promise.reject(new EndError(val[0])));\n\nmodule.exports = (iterable, tester, opts) => {\n\topts = Object.assign({\n\t\tconcurrency: Infinity,\n\t\tpreserveOrder: true\n\t}, opts);\n\n\tconst limit = pLimit(opts.concurrency);\n\n\t// start all the promises concurrently with optional limit\n\tconst items = Array.from(iterable).map(el => [el, limit(() => Promise.resolve(el).then(tester))]);\n\n\t// check the promises either serially or concurrently\n\tconst checkLimit = pLimit(opts.preserveOrder ? 1 : Infinity);\n\n\treturn Promise.all(items.map(el => checkLimit(() => finder(el))))\n\t\t.then(() => {})\n\t\t.catch(err => err instanceof EndError ? err.value : Promise.reject(err));\n};\n","'use strict';\nconst path = require('path');\nconst pathExists = require('path-exists');\nconst pLocate = require('p-locate');\n\nmodule.exports = (iterable, opts) => {\n\topts = Object.assign({\n\t\tcwd: process.cwd()\n\t}, opts);\n\n\treturn pLocate(iterable, el => pathExists(path.resolve(opts.cwd, el)), opts);\n};\n\nmodule.exports.sync = (iterable, opts) => {\n\topts = Object.assign({\n\t\tcwd: process.cwd()\n\t}, opts);\n\n\tfor (const el of iterable) {\n\t\tif (pathExists.sync(path.resolve(opts.cwd, el))) {\n\t\t\treturn el;\n\t\t}\n\t}\n};\n","'use strict';\nconst path = require('path');\nconst locatePath = require('locate-path');\n\nmodule.exports = (filename, opts) => {\n\topts = opts || {};\n\n\tconst startDir = path.resolve(opts.cwd || '');\n\tconst root = path.parse(startDir).root;\n\n\tconst filenames = [].concat(filename);\n\n\treturn new Promise(resolve => {\n\t\t(function find(dir) {\n\t\t\tlocatePath(filenames, {cwd: dir}).then(file => {\n\t\t\t\tif (file) {\n\t\t\t\t\tresolve(path.join(dir, file));\n\t\t\t\t} else if (dir === root) {\n\t\t\t\t\tresolve(null);\n\t\t\t\t} else {\n\t\t\t\t\tfind(path.dirname(dir));\n\t\t\t\t}\n\t\t\t});\n\t\t})(startDir);\n\t});\n};\n\nmodule.exports.sync = (filename, opts) => {\n\topts = opts || {};\n\n\tlet dir = path.resolve(opts.cwd || '');\n\tconst root = path.parse(dir).root;\n\n\tconst filenames = [].concat(filename);\n\n\t// eslint-disable-next-line no-constant-condition\n\twhile (true) {\n\t\tconst file = locatePath.sync(filenames, {cwd: dir});\n\n\t\tif (file) {\n\t\t\treturn path.join(dir, file);\n\t\t} else if (dir === root) {\n\t\t\treturn null;\n\t\t}\n\n\t\tdir = path.dirname(dir);\n\t}\n};\n","'use strict';\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nmodule.exports = function () {\n return new IgnoreBase();\n};\n\n// A simple implementation of make-array\nfunction make_array(subject) {\n return Array.isArray(subject) ? subject : [subject];\n}\n\nvar REGEX_BLANK_LINE = /^\\s+$/;\nvar REGEX_LEADING_EXCAPED_EXCLAMATION = /^\\\\\\!/;\nvar REGEX_LEADING_EXCAPED_HASH = /^\\\\#/;\nvar SLASH = '/';\nvar KEY_IGNORE = typeof Symbol !== 'undefined' ? Symbol.for('node-ignore')\n/* istanbul ignore next */\n: 'node-ignore';\n\nvar IgnoreBase = function () {\n function IgnoreBase() {\n _classCallCheck(this, IgnoreBase);\n\n this._rules = [];\n this[KEY_IGNORE] = true;\n this._initCache();\n }\n\n _createClass(IgnoreBase, [{\n key: '_initCache',\n value: function _initCache() {\n this._cache = {};\n }\n\n // @param {Array.|string|Ignore} pattern\n\n }, {\n key: 'add',\n value: function add(pattern) {\n this._added = false;\n\n if (typeof pattern === 'string') {\n pattern = pattern.split(/\\r?\\n/g);\n }\n\n make_array(pattern).forEach(this._addPattern, this);\n\n // Some rules have just added to the ignore,\n // making the behavior changed.\n if (this._added) {\n this._initCache();\n }\n\n return this;\n }\n\n // legacy\n\n }, {\n key: 'addPattern',\n value: function addPattern(pattern) {\n return this.add(pattern);\n }\n }, {\n key: '_addPattern',\n value: function _addPattern(pattern) {\n // #32\n if (pattern && pattern[KEY_IGNORE]) {\n this._rules = this._rules.concat(pattern._rules);\n this._added = true;\n return;\n }\n\n if (this._checkPattern(pattern)) {\n var rule = this._createRule(pattern);\n this._added = true;\n this._rules.push(rule);\n }\n }\n }, {\n key: '_checkPattern',\n value: function _checkPattern(pattern) {\n // > A blank line matches no files, so it can serve as a separator for readability.\n return pattern && typeof pattern === 'string' && !REGEX_BLANK_LINE.test(pattern)\n\n // > A line starting with # serves as a comment.\n && pattern.indexOf('#') !== 0;\n }\n }, {\n key: 'filter',\n value: function filter(paths) {\n var _this = this;\n\n return make_array(paths).filter(function (path) {\n return _this._filter(path);\n });\n }\n }, {\n key: 'createFilter',\n value: function createFilter() {\n var _this2 = this;\n\n return function (path) {\n return _this2._filter(path);\n };\n }\n }, {\n key: 'ignores',\n value: function ignores(path) {\n return !this._filter(path);\n }\n }, {\n key: '_createRule',\n value: function _createRule(pattern) {\n var origin = pattern;\n var negative = false;\n\n // > An optional prefix \"!\" which negates the pattern;\n if (pattern.indexOf('!') === 0) {\n negative = true;\n pattern = pattern.substr(1);\n }\n\n pattern = pattern\n // > Put a backslash (\"\\\") in front of the first \"!\" for patterns that begin with a literal \"!\", for example, `\"\\!important!.txt\"`.\n .replace(REGEX_LEADING_EXCAPED_EXCLAMATION, '!')\n // > Put a backslash (\"\\\") in front of the first hash for patterns that begin with a hash.\n .replace(REGEX_LEADING_EXCAPED_HASH, '#');\n\n var regex = make_regex(pattern, negative);\n\n return {\n origin: origin,\n pattern: pattern,\n negative: negative,\n regex: regex\n };\n }\n\n // @returns `Boolean` true if the `path` is NOT ignored\n\n }, {\n key: '_filter',\n value: function _filter(path, slices) {\n if (!path) {\n return false;\n }\n\n if (path in this._cache) {\n return this._cache[path];\n }\n\n if (!slices) {\n // path/to/a.js\n // ['path', 'to', 'a.js']\n slices = path.split(SLASH);\n }\n\n slices.pop();\n\n return this._cache[path] = slices.length\n // > It is not possible to re-include a file if a parent directory of that file is excluded.\n // If the path contains a parent directory, check the parent first\n ? this._filter(slices.join(SLASH) + SLASH, slices) && this._test(path)\n\n // Or only test the path\n : this._test(path);\n }\n\n // @returns {Boolean} true if a file is NOT ignored\n\n }, {\n key: '_test',\n value: function _test(path) {\n // Explicitly define variable type by setting matched to `0`\n var matched = 0;\n\n this._rules.forEach(function (rule) {\n // if matched = true, then we only test negative rules\n // if matched = false, then we test non-negative rules\n if (!(matched ^ rule.negative)) {\n matched = rule.negative ^ rule.regex.test(path);\n }\n });\n\n return !matched;\n }\n }]);\n\n return IgnoreBase;\n}();\n\n// > If the pattern ends with a slash,\n// > it is removed for the purpose of the following description,\n// > but it would only find a match with a directory.\n// > In other words, foo/ will match a directory foo and paths underneath it,\n// > but will not match a regular file or a symbolic link foo\n// > (this is consistent with the way how pathspec works in general in Git).\n// '`foo/`' will not match regular file '`foo`' or symbolic link '`foo`'\n// -> ignore-rules will not deal with it, because it costs extra `fs.stat` call\n// you could use option `mark: true` with `glob`\n\n// '`foo/`' should not continue with the '`..`'\n\n\nvar DEFAULT_REPLACER_PREFIX = [\n\n// > Trailing spaces are ignored unless they are quoted with backslash (\"\\\")\n[\n// (a\\ ) -> (a )\n// (a ) -> (a)\n// (a \\ ) -> (a )\n/\\\\?\\s+$/, function (match) {\n return match.indexOf('\\\\') === 0 ? ' ' : '';\n}],\n\n// replace (\\ ) with ' '\n[/\\\\\\s/g, function () {\n return ' ';\n}],\n\n// Escape metacharacters\n// which is written down by users but means special for regular expressions.\n\n// > There are 12 characters with special meanings:\n// > - the backslash \\,\n// > - the caret ^,\n// > - the dollar sign $,\n// > - the period or dot .,\n// > - the vertical bar or pipe symbol |,\n// > - the question mark ?,\n// > - the asterisk or star *,\n// > - the plus sign +,\n// > - the opening parenthesis (,\n// > - the closing parenthesis ),\n// > - and the opening square bracket [,\n// > - the opening curly brace {,\n// > These special characters are often called \"metacharacters\".\n[/[\\\\\\^$.|?*+()\\[{]/g, function (match) {\n return '\\\\' + match;\n}],\n\n// leading slash\n[\n\n// > A leading slash matches the beginning of the pathname.\n// > For example, \"/*.c\" matches \"cat-file.c\" but not \"mozilla-sha1/sha1.c\".\n// A leading slash matches the beginning of the pathname\n/^\\//, function () {\n return '^';\n}],\n\n// replace special metacharacter slash after the leading slash\n[/\\//g, function () {\n return '\\\\/';\n}], [\n// > A leading \"**\" followed by a slash means match in all directories.\n// > For example, \"**/foo\" matches file or directory \"foo\" anywhere,\n// > the same as pattern \"foo\".\n// > \"**/foo/bar\" matches file or directory \"bar\" anywhere that is directly under directory \"foo\".\n// Notice that the '*'s have been replaced as '\\\\*'\n/^\\^*\\\\\\*\\\\\\*\\\\\\//,\n\n// '**/foo' <-> 'foo'\nfunction () {\n return '^(?:.*\\\\/)?';\n}]];\n\nvar DEFAULT_REPLACER_SUFFIX = [\n// starting\n[\n// there will be no leading '/' (which has been replaced by section \"leading slash\")\n// If starts with '**', adding a '^' to the regular expression also works\n/^(?=[^\\^])/, function () {\n return !/\\/(?!$)/.test(this)\n // > If the pattern does not contain a slash /, Git treats it as a shell glob pattern\n // Actually, if there is only a trailing slash, git also treats it as a shell glob pattern\n ? '(?:^|\\\\/)'\n\n // > Otherwise, Git treats the pattern as a shell glob suitable for consumption by fnmatch(3)\n : '^';\n}],\n\n// two globstars\n[\n// Use lookahead assertions so that we could match more than one `'/**'`\n/\\\\\\/\\\\\\*\\\\\\*(?=\\\\\\/|$)/g,\n\n// Zero, one or several directories\n// should not use '*', or it will be replaced by the next replacer\n\n// Check if it is not the last `'/**'`\nfunction (match, index, str) {\n return index + 6 < str.length\n\n // case: /**/\n // > A slash followed by two consecutive asterisks then a slash matches zero or more directories.\n // > For example, \"a/**/b\" matches \"a/b\", \"a/x/b\", \"a/x/y/b\" and so on.\n // '/**/'\n ? '(?:\\\\/[^\\\\/]+)*'\n\n // case: /**\n // > A trailing `\"/**\"` matches everything inside.\n\n // #21: everything inside but it should not include the current folder\n : '\\\\/.+';\n}],\n\n// intermediate wildcards\n[\n// Never replace escaped '*'\n// ignore rule '\\*' will match the path '*'\n\n// 'abc.*/' -> go\n// 'abc.*' -> skip this rule\n/(^|[^\\\\]+)\\\\\\*(?=.+)/g,\n\n// '*.js' matches '.js'\n// '*.js' doesn't match 'abc'\nfunction (match, p1) {\n return p1 + '[^\\\\/]*';\n}],\n\n// trailing wildcard\n[/(\\^|\\\\\\/)?\\\\\\*$/, function (match, p1) {\n return (p1\n // '\\^':\n // '/*' does not match ''\n // '/*' does not match everything\n\n // '\\\\\\/':\n // 'abc/*' does not match 'abc/'\n ? p1 + '[^/]+'\n\n // 'a*' matches 'a'\n // 'a*' matches 'aa'\n : '[^/]*') + '(?=$|\\\\/$)';\n}], [\n// unescape\n/\\\\\\\\\\\\/g, function () {\n return '\\\\';\n}]];\n\nvar POSITIVE_REPLACERS = [].concat(DEFAULT_REPLACER_PREFIX, [\n\n// 'f'\n// matches\n// - /f(end)\n// - /f/\n// - (start)f(end)\n// - (start)f/\n// doesn't match\n// - oof\n// - foo\n// pseudo:\n// -> (^|/)f(/|$)\n\n// ending\n[\n// 'js' will not match 'js.'\n// 'ab' will not match 'abc'\n/(?:[^*\\/])$/,\n\n// 'js*' will not match 'a.js'\n// 'js/' will not match 'a.js'\n// 'js' will match 'a.js' and 'a.js/'\nfunction (match) {\n return match + '(?=$|\\\\/)';\n}]], DEFAULT_REPLACER_SUFFIX);\n\nvar NEGATIVE_REPLACERS = [].concat(DEFAULT_REPLACER_PREFIX, [\n\n// #24, #38\n// The MISSING rule of [gitignore docs](https://git-scm.com/docs/gitignore)\n// A negative pattern without a trailing wildcard should not\n// re-include the things inside that directory.\n\n// eg:\n// ['node_modules/*', '!node_modules']\n// should ignore `node_modules/a.js`\n[/(?:[^*])$/, function (match) {\n return match + '(?=$|\\\\/$)';\n}]], DEFAULT_REPLACER_SUFFIX);\n\n// A simple cache, because an ignore rule only has only one certain meaning\nvar cache = {};\n\n// @param {pattern}\nfunction make_regex(pattern, negative) {\n var r = cache[pattern];\n if (r) {\n return r;\n }\n\n var replacers = negative ? NEGATIVE_REPLACERS : POSITIVE_REPLACERS;\n\n var source = replacers.reduce(function (prev, current) {\n return prev.replace(current[0], current[1].bind(pattern));\n }, pattern);\n\n return cache[pattern] = new RegExp(source, 'i');\n}\n\n// Windows\n// --------------------------------------------------------------\n/* istanbul ignore if */\nif (\n// Detect `process` so that it can run in browsers.\ntypeof process !== 'undefined' && (process.env && process.env.IGNORE_TEST_WIN32 || process.platform === 'win32')) {\n\n var filter = IgnoreBase.prototype._filter;\n var make_posix = function make_posix(str) {\n return (/^\\\\\\\\\\?\\\\/.test(str) || /[^\\x00-\\x80]+/.test(str) ? str : str.replace(/\\\\/g, '/')\n );\n };\n\n IgnoreBase.prototype._filter = function (path, slices) {\n path = make_posix(path);\n return filter.call(this, path, slices);\n };\n}\n","/*!\n * is-directory \n *\n * Copyright (c) 2014-2015, Jon Schlinkert.\n * Licensed under the MIT License.\n */\n\n'use strict';\n\nvar fs = require('fs');\n\n/**\n * async\n */\n\nfunction isDirectory(filepath, cb) {\n if (typeof cb !== 'function') {\n throw new Error('expected a callback function');\n }\n\n if (typeof filepath !== 'string') {\n cb(new Error('expected filepath to be a string'));\n return;\n }\n\n fs.stat(filepath, function(err, stats) {\n if (err) {\n if (err.code === 'ENOENT') {\n cb(null, false);\n return;\n }\n cb(err);\n return;\n }\n cb(null, stats.isDirectory());\n });\n}\n\n/**\n * sync\n */\n\nisDirectory.sync = function isDirectorySync(filepath) {\n if (typeof filepath !== 'string') {\n throw new Error('expected filepath to be a string');\n }\n\n try {\n var stat = fs.statSync(filepath);\n return stat.isDirectory();\n } catch (err) {\n if (err.code === 'ENOENT') {\n return false;\n } else {\n throw err;\n }\n }\n return false;\n};\n\n/**\n * Expose `isDirectory`\n */\n\nmodule.exports = isDirectory;\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nvar pathModule = require('path');\nvar isWindows = process.platform === 'win32';\nvar fs = require('fs');\n\n// JavaScript implementation of realpath, ported from node pre-v6\n\nvar DEBUG = process.env.NODE_DEBUG && /fs/.test(process.env.NODE_DEBUG);\n\nfunction rethrow() {\n // Only enable in debug mode. A backtrace uses ~1000 bytes of heap space and\n // is fairly slow to generate.\n var callback;\n if (DEBUG) {\n var backtrace = new Error;\n callback = debugCallback;\n } else\n callback = missingCallback;\n\n return callback;\n\n function debugCallback(err) {\n if (err) {\n backtrace.message = err.message;\n err = backtrace;\n missingCallback(err);\n }\n }\n\n function missingCallback(err) {\n if (err) {\n if (process.throwDeprecation)\n throw err; // Forgot a callback but don't know where? Use NODE_DEBUG=fs\n else if (!process.noDeprecation) {\n var msg = 'fs: missing callback ' + (err.stack || err.message);\n if (process.traceDeprecation)\n console.trace(msg);\n else\n console.error(msg);\n }\n }\n }\n}\n\nfunction maybeCallback(cb) {\n return typeof cb === 'function' ? cb : rethrow();\n}\n\nvar normalize = pathModule.normalize;\n\n// Regexp that finds the next partion of a (partial) path\n// result is [base_with_slash, base], e.g. ['somedir/', 'somedir']\nif (isWindows) {\n var nextPartRe = /(.*?)(?:[\\/\\\\]+|$)/g;\n} else {\n var nextPartRe = /(.*?)(?:[\\/]+|$)/g;\n}\n\n// Regex to find the device root, including trailing slash. E.g. 'c:\\\\'.\nif (isWindows) {\n var splitRootRe = /^(?:[a-zA-Z]:|[\\\\\\/]{2}[^\\\\\\/]+[\\\\\\/][^\\\\\\/]+)?[\\\\\\/]*/;\n} else {\n var splitRootRe = /^[\\/]*/;\n}\n\nexports.realpathSync = function realpathSync(p, cache) {\n // make p is absolute\n p = pathModule.resolve(p);\n\n if (cache && Object.prototype.hasOwnProperty.call(cache, p)) {\n return cache[p];\n }\n\n var original = p,\n seenLinks = {},\n knownHard = {};\n\n // current character position in p\n var pos;\n // the partial path so far, including a trailing slash if any\n var current;\n // the partial path without a trailing slash (except when pointing at a root)\n var base;\n // the partial path scanned in the previous round, with slash\n var previous;\n\n start();\n\n function start() {\n // Skip over roots\n var m = splitRootRe.exec(p);\n pos = m[0].length;\n current = m[0];\n base = m[0];\n previous = '';\n\n // On windows, check that the root exists. On unix there is no need.\n if (isWindows && !knownHard[base]) {\n fs.lstatSync(base);\n knownHard[base] = true;\n }\n }\n\n // walk down the path, swapping out linked pathparts for their real\n // values\n // NB: p.length changes.\n while (pos < p.length) {\n // find the next part\n nextPartRe.lastIndex = pos;\n var result = nextPartRe.exec(p);\n previous = current;\n current += result[0];\n base = previous + result[1];\n pos = nextPartRe.lastIndex;\n\n // continue if not a symlink\n if (knownHard[base] || (cache && cache[base] === base)) {\n continue;\n }\n\n var resolvedLink;\n if (cache && Object.prototype.hasOwnProperty.call(cache, base)) {\n // some known symbolic link. no need to stat again.\n resolvedLink = cache[base];\n } else {\n var stat = fs.lstatSync(base);\n if (!stat.isSymbolicLink()) {\n knownHard[base] = true;\n if (cache) cache[base] = base;\n continue;\n }\n\n // read the link if it wasn't read before\n // dev/ino always return 0 on windows, so skip the check.\n var linkTarget = null;\n if (!isWindows) {\n var id = stat.dev.toString(32) + ':' + stat.ino.toString(32);\n if (seenLinks.hasOwnProperty(id)) {\n linkTarget = seenLinks[id];\n }\n }\n if (linkTarget === null) {\n fs.statSync(base);\n linkTarget = fs.readlinkSync(base);\n }\n resolvedLink = pathModule.resolve(previous, linkTarget);\n // track this, if given a cache.\n if (cache) cache[base] = resolvedLink;\n if (!isWindows) seenLinks[id] = linkTarget;\n }\n\n // resolve the link, then start over\n p = pathModule.resolve(resolvedLink, p.slice(pos));\n start();\n }\n\n if (cache) cache[original] = p;\n\n return p;\n};\n\n\nexports.realpath = function realpath(p, cache, cb) {\n if (typeof cb !== 'function') {\n cb = maybeCallback(cache);\n cache = null;\n }\n\n // make p is absolute\n p = pathModule.resolve(p);\n\n if (cache && Object.prototype.hasOwnProperty.call(cache, p)) {\n return process.nextTick(cb.bind(null, null, cache[p]));\n }\n\n var original = p,\n seenLinks = {},\n knownHard = {};\n\n // current character position in p\n var pos;\n // the partial path so far, including a trailing slash if any\n var current;\n // the partial path without a trailing slash (except when pointing at a root)\n var base;\n // the partial path scanned in the previous round, with slash\n var previous;\n\n start();\n\n function start() {\n // Skip over roots\n var m = splitRootRe.exec(p);\n pos = m[0].length;\n current = m[0];\n base = m[0];\n previous = '';\n\n // On windows, check that the root exists. On unix there is no need.\n if (isWindows && !knownHard[base]) {\n fs.lstat(base, function(err) {\n if (err) return cb(err);\n knownHard[base] = true;\n LOOP();\n });\n } else {\n process.nextTick(LOOP);\n }\n }\n\n // walk down the path, swapping out linked pathparts for their real\n // values\n function LOOP() {\n // stop if scanned past end of path\n if (pos >= p.length) {\n if (cache) cache[original] = p;\n return cb(null, p);\n }\n\n // find the next part\n nextPartRe.lastIndex = pos;\n var result = nextPartRe.exec(p);\n previous = current;\n current += result[0];\n base = previous + result[1];\n pos = nextPartRe.lastIndex;\n\n // continue if not a symlink\n if (knownHard[base] || (cache && cache[base] === base)) {\n return process.nextTick(LOOP);\n }\n\n if (cache && Object.prototype.hasOwnProperty.call(cache, base)) {\n // known symbolic link. no need to stat again.\n return gotResolvedLink(cache[base]);\n }\n\n return fs.lstat(base, gotStat);\n }\n\n function gotStat(err, stat) {\n if (err) return cb(err);\n\n // if not a symlink, skip to the next path part\n if (!stat.isSymbolicLink()) {\n knownHard[base] = true;\n if (cache) cache[base] = base;\n return process.nextTick(LOOP);\n }\n\n // stat & read the link if not read before\n // call gotTarget as soon as the link target is known\n // dev/ino always return 0 on windows, so skip the check.\n if (!isWindows) {\n var id = stat.dev.toString(32) + ':' + stat.ino.toString(32);\n if (seenLinks.hasOwnProperty(id)) {\n return gotTarget(null, seenLinks[id], base);\n }\n }\n fs.stat(base, function(err) {\n if (err) return cb(err);\n\n fs.readlink(base, function(err, target) {\n if (!isWindows) seenLinks[id] = target;\n gotTarget(err, target);\n });\n });\n }\n\n function gotTarget(err, target, base) {\n if (err) return cb(err);\n\n var resolvedLink = pathModule.resolve(previous, target);\n if (cache) cache[base] = resolvedLink;\n gotResolvedLink(resolvedLink);\n }\n\n function gotResolvedLink(resolvedLink) {\n // resolve the link, then start over\n p = pathModule.resolve(resolvedLink, p.slice(pos));\n start();\n }\n};\n","module.exports = realpath\nrealpath.realpath = realpath\nrealpath.sync = realpathSync\nrealpath.realpathSync = realpathSync\nrealpath.monkeypatch = monkeypatch\nrealpath.unmonkeypatch = unmonkeypatch\n\nvar fs = require('fs')\nvar origRealpath = fs.realpath\nvar origRealpathSync = fs.realpathSync\n\nvar version = process.version\nvar ok = /^v[0-5]\\./.test(version)\nvar old = require('./old.js')\n\nfunction newError (er) {\n return er && er.syscall === 'realpath' && (\n er.code === 'ELOOP' ||\n er.code === 'ENOMEM' ||\n er.code === 'ENAMETOOLONG'\n )\n}\n\nfunction realpath (p, cache, cb) {\n if (ok) {\n return origRealpath(p, cache, cb)\n }\n\n if (typeof cache === 'function') {\n cb = cache\n cache = null\n }\n origRealpath(p, cache, function (er, result) {\n if (newError(er)) {\n old.realpath(p, cache, cb)\n } else {\n cb(er, result)\n }\n })\n}\n\nfunction realpathSync (p, cache) {\n if (ok) {\n return origRealpathSync(p, cache)\n }\n\n try {\n return origRealpathSync(p, cache)\n } catch (er) {\n if (newError(er)) {\n return old.realpathSync(p, cache)\n } else {\n throw er\n }\n }\n}\n\nfunction monkeypatch () {\n fs.realpath = realpath\n fs.realpathSync = realpathSync\n}\n\nfunction unmonkeypatch () {\n fs.realpath = origRealpath\n fs.realpathSync = origRealpathSync\n}\n","module.exports = function (xs, fn) {\n var res = [];\n for (var i = 0; i < xs.length; i++) {\n var x = fn(xs[i], i);\n if (isArray(x)) res.push.apply(res, x);\n else res.push(x);\n }\n return res;\n};\n\nvar isArray = Array.isArray || function (xs) {\n return Object.prototype.toString.call(xs) === '[object Array]';\n};\n","'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 concatMap = require('concat-map');\nvar 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 identity(e) {\n return e;\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 || /\\$$/.test(m.pre)) return [str];\n\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 var post = m.post.length\n ? expand(m.post, false)\n : [''];\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\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 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 = concatMap(n, function(el) { return expand(el, false) });\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 return expansions;\n}\n\n","module.exports = minimatch\nminimatch.Minimatch = Minimatch\n\nvar path = (function () { try { return require('path') } catch (e) {}}()) || {\n sep: '/'\n}\nminimatch.sep = path.sep\n\nvar GLOBSTAR = minimatch.GLOBSTAR = Minimatch.GLOBSTAR = {}\nvar expand = require('brace-expansion')\n\nvar plTypes = {\n '!': { open: '(?:(?!(?:', close: '))[^/]*?)'},\n '?': { open: '(?:', close: ')?' },\n '+': { open: '(?:', close: ')+' },\n '*': { open: '(?:', close: ')*' },\n '@': { open: '(?:', close: ')' }\n}\n\n// any single thing other than /\n// don't need to escape / when using new RegExp()\nvar qmark = '[^/]'\n\n// * => any number of characters\nvar star = qmark + '*?'\n\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.\nvar twoStarDot = '(?:(?!(?:\\\\\\/|^)(?:\\\\.{1,2})($|\\\\\\/)).)*?'\n\n// not a ^ or / followed by a dot,\n// followed by anything, any number of times.\nvar twoStarNoDot = '(?:(?!(?:\\\\\\/|^)\\\\.).)*?'\n\n// characters that need to be escaped in RegExp.\nvar reSpecials = charSet('().*{}+?[]^$\\\\!')\n\n// \"abc\" -> { a:true, b:true, c:true }\nfunction charSet (s) {\n return s.split('').reduce(function (set, c) {\n set[c] = true\n return set\n }, {})\n}\n\n// normalizes slashes.\nvar slashSplit = /\\/+/\n\nminimatch.filter = filter\nfunction filter (pattern, options) {\n options = options || {}\n return function (p, i, list) {\n return minimatch(p, pattern, options)\n }\n}\n\nfunction ext (a, b) {\n b = b || {}\n var t = {}\n Object.keys(a).forEach(function (k) {\n t[k] = a[k]\n })\n Object.keys(b).forEach(function (k) {\n t[k] = b[k]\n })\n return t\n}\n\nminimatch.defaults = function (def) {\n if (!def || typeof def !== 'object' || !Object.keys(def).length) {\n return minimatch\n }\n\n var orig = minimatch\n\n var m = function minimatch (p, pattern, options) {\n return orig(p, pattern, ext(def, options))\n }\n\n m.Minimatch = function Minimatch (pattern, options) {\n return new orig.Minimatch(pattern, ext(def, options))\n }\n m.Minimatch.defaults = function defaults (options) {\n return orig.defaults(ext(def, options)).Minimatch\n }\n\n m.filter = function filter (pattern, options) {\n return orig.filter(pattern, ext(def, options))\n }\n\n m.defaults = function defaults (options) {\n return orig.defaults(ext(def, options))\n }\n\n m.makeRe = function makeRe (pattern, options) {\n return orig.makeRe(pattern, ext(def, options))\n }\n\n m.braceExpand = function braceExpand (pattern, options) {\n return orig.braceExpand(pattern, ext(def, options))\n }\n\n m.match = function (list, pattern, options) {\n return orig.match(list, pattern, ext(def, options))\n }\n\n return m\n}\n\nMinimatch.defaults = function (def) {\n return minimatch.defaults(def).Minimatch\n}\n\nfunction minimatch (p, pattern, options) {\n assertValidPattern(pattern)\n\n if (!options) options = {}\n\n // shortcut: comments match nothing.\n if (!options.nocomment && pattern.charAt(0) === '#') {\n return false\n }\n\n return new Minimatch(pattern, options).match(p)\n}\n\nfunction Minimatch (pattern, options) {\n if (!(this instanceof Minimatch)) {\n return new Minimatch(pattern, options)\n }\n\n assertValidPattern(pattern)\n\n if (!options) options = {}\n\n pattern = pattern.trim()\n\n // windows support: need to use /, not \\\n if (!options.allowWindowsEscape && path.sep !== '/') {\n pattern = pattern.split(path.sep).join('/')\n }\n\n this.options = options\n this.set = []\n this.pattern = pattern\n this.regexp = null\n this.negate = false\n this.comment = false\n this.empty = false\n this.partial = !!options.partial\n\n // make the set of regexps etc.\n this.make()\n}\n\nMinimatch.prototype.debug = function () {}\n\nMinimatch.prototype.make = make\nfunction make () {\n var pattern = this.pattern\n var options = this.options\n\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\n // step 1: figure out negation, etc.\n this.parseNegate()\n\n // step 2: expand braces\n var set = this.globSet = this.braceExpand()\n\n if (options.debug) this.debug = function debug() { console.error.apply(console, arguments) }\n\n this.debug(this.pattern, set)\n\n // step 3: now we have a set, so turn each one into a series of path-portion\n // 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 set = this.globParts = set.map(function (s) {\n return s.split(slashSplit)\n })\n\n this.debug(this.pattern, set)\n\n // glob --> regexps\n set = set.map(function (s, si, set) {\n return s.map(this.parse, this)\n }, this)\n\n this.debug(this.pattern, set)\n\n // filter out everything that didn't compile properly.\n set = set.filter(function (s) {\n return s.indexOf(false) === -1\n })\n\n this.debug(this.pattern, set)\n\n this.set = set\n}\n\nMinimatch.prototype.parseNegate = parseNegate\nfunction parseNegate () {\n var pattern = this.pattern\n var negate = false\n var options = this.options\n var negateOffset = 0\n\n if (options.nonegate) return\n\n for (var i = 0, l = pattern.length\n ; i < l && pattern.charAt(i) === '!'\n ; i++) {\n negate = !negate\n negateOffset++\n }\n\n if (negateOffset) this.pattern = pattern.substr(negateOffset)\n this.negate = negate\n}\n\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\nminimatch.braceExpand = function (pattern, options) {\n return braceExpand(pattern, options)\n}\n\nMinimatch.prototype.braceExpand = braceExpand\n\nfunction braceExpand (pattern, options) {\n if (!options) {\n if (this instanceof Minimatch) {\n options = this.options\n } else {\n options = {}\n }\n }\n\n pattern = typeof pattern === 'undefined'\n ? this.pattern : pattern\n\n assertValidPattern(pattern)\n\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\n return expand(pattern)\n}\n\nvar MAX_PATTERN_LENGTH = 1024 * 64\nvar assertValidPattern = function (pattern) {\n if (typeof pattern !== 'string') {\n throw new TypeError('invalid pattern')\n }\n\n if (pattern.length > MAX_PATTERN_LENGTH) {\n throw new TypeError('pattern is too long')\n }\n}\n\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.\nMinimatch.prototype.parse = parse\nvar SUBPARSE = {}\nfunction parse (pattern, isSub) {\n assertValidPattern(pattern)\n\n var options = this.options\n\n // shortcuts\n if (pattern === '**') {\n if (!options.noglobstar)\n return GLOBSTAR\n else\n pattern = '*'\n }\n if (pattern === '') return ''\n\n var re = ''\n var hasMagic = !!options.nocase\n var escaping = false\n // ? => one single character\n var patternListStack = []\n var negativeLists = []\n var stateChar\n var inClass = false\n var reClassStart = -1\n var classStart = -1\n // . and .. never match anything that doesn't start with .,\n // even when options.dot is set.\n var patternStart = pattern.charAt(0) === '.' ? '' // anything\n // not (start or / followed by . or .. followed by / or end)\n : options.dot ? '(?!(?:^|\\\\\\/)\\\\.{1,2}(?:$|\\\\\\/))'\n : '(?!\\\\.)'\n var self = this\n\n function clearStateChar () {\n if (stateChar) {\n // we had some state-tracking character\n // that wasn't consumed by this pass.\n switch (stateChar) {\n case '*':\n re += star\n hasMagic = true\n break\n case '?':\n re += qmark\n hasMagic = true\n break\n default:\n re += '\\\\' + stateChar\n break\n }\n self.debug('clearStateChar %j %j', stateChar, re)\n stateChar = false\n }\n }\n\n for (var i = 0, len = pattern.length, c\n ; (i < len) && (c = pattern.charAt(i))\n ; i++) {\n this.debug('%s\\t%s %s %j', pattern, i, re, c)\n\n // skip over any that are escaped.\n if (escaping && reSpecials[c]) {\n re += '\\\\' + c\n escaping = false\n continue\n }\n\n switch (c) {\n /* istanbul ignore next */\n case '/': {\n // completely not allowed, even escaped.\n // Should already be path-split by now.\n return false\n }\n\n case '\\\\':\n clearStateChar()\n escaping = true\n continue\n\n // the various stateChar values\n // for the \"extglob\" stuff.\n case '?':\n case '*':\n case '+':\n case '@':\n case '!':\n this.debug('%s\\t%s %s %j <-- stateChar', pattern, i, re, c)\n\n // all of those are literals inside a class, except that\n // the glob [!a] means [^a] in regexp\n if (inClass) {\n this.debug(' in class')\n if (c === '!' && i === classStart + 1) c = '^'\n re += c\n continue\n }\n\n // if we already have a stateChar, then it means\n // that there was something like ** or +? in there.\n // Handle the stateChar, then proceed with this one.\n self.debug('call clearStateChar %j', stateChar)\n clearStateChar()\n stateChar = c\n // if extglob is disabled, then +(asdf|foo) isn't a thing.\n // just clear the statechar *now*, rather than even diving into\n // the patternList stuff.\n if (options.noext) clearStateChar()\n continue\n\n case '(':\n if (inClass) {\n re += '('\n continue\n }\n\n if (!stateChar) {\n re += '\\\\('\n continue\n }\n\n patternListStack.push({\n type: stateChar,\n start: i - 1,\n reStart: re.length,\n open: plTypes[stateChar].open,\n close: plTypes[stateChar].close\n })\n // negation is (?:(?!js)[^/]*)\n re += stateChar === '!' ? '(?:(?!(?:' : '(?:'\n this.debug('plType %j %j', stateChar, re)\n stateChar = false\n continue\n\n case ')':\n if (inClass || !patternListStack.length) {\n re += '\\\\)'\n continue\n }\n\n clearStateChar()\n hasMagic = true\n var pl = patternListStack.pop()\n // negation is (?:(?!js)[^/]*)\n // The others are (?:)\n re += pl.close\n if (pl.type === '!') {\n negativeLists.push(pl)\n }\n pl.reEnd = re.length\n continue\n\n case '|':\n if (inClass || !patternListStack.length || escaping) {\n re += '\\\\|'\n escaping = false\n continue\n }\n\n clearStateChar()\n re += '|'\n continue\n\n // these are mostly the same in regexp and glob\n case '[':\n // swallow any state-tracking char before the [\n clearStateChar()\n\n if (inClass) {\n re += '\\\\' + c\n continue\n }\n\n inClass = true\n classStart = i\n reClassStart = re.length\n re += c\n continue\n\n case ']':\n // a right bracket shall lose its special\n // meaning and represent itself in\n // a bracket expression if it occurs\n // first in the list. -- POSIX.2 2.8.3.2\n if (i === classStart + 1 || !inClass) {\n re += '\\\\' + c\n escaping = false\n continue\n }\n\n // handle the case where we left a class open.\n // \"[z-a]\" is valid, equivalent to \"\\[z-a\\]\"\n // split where the last [ was, make sure we don't have\n // an invalid re. if so, re-walk the contents of the\n // would-be class to re-translate any characters that\n // were passed through as-is\n // TODO: It would probably be faster to determine this\n // without a try/catch and a new RegExp, but it's tricky\n // to do safely. For now, this is safe and works.\n var cs = pattern.substring(classStart + 1, i)\n try {\n RegExp('[' + cs + ']')\n } catch (er) {\n // not a valid class!\n var sp = this.parse(cs, SUBPARSE)\n re = re.substr(0, reClassStart) + '\\\\[' + sp[0] + '\\\\]'\n hasMagic = hasMagic || sp[1]\n inClass = false\n continue\n }\n\n // finish up the class.\n hasMagic = true\n inClass = false\n re += c\n continue\n\n default:\n // swallow any state char that wasn't consumed\n clearStateChar()\n\n if (escaping) {\n // no need\n escaping = false\n } else if (reSpecials[c]\n && !(c === '^' && inClass)) {\n re += '\\\\'\n }\n\n re += c\n\n } // switch\n } // for\n\n // handle the case where we left a class open.\n // \"[abc\" is valid, equivalent to \"\\[abc\"\n if (inClass) {\n // split where the last [ was, and escape it\n // this is a huge pita. We now have to re-walk\n // the contents of the would-be class to re-translate\n // any characters that were passed through as-is\n cs = pattern.substr(classStart + 1)\n sp = this.parse(cs, SUBPARSE)\n re = re.substr(0, reClassStart) + '\\\\[' + sp[0]\n hasMagic = hasMagic || sp[1]\n }\n\n // handle the case where we had a +( thing at the *end*\n // of the pattern.\n // each pattern list stack adds 3 chars, and we need to go through\n // and escape any | chars that were passed through as-is for the regexp.\n // Go through and escape them, taking care not to double-escape any\n // | chars that were already escaped.\n for (pl = patternListStack.pop(); pl; pl = patternListStack.pop()) {\n var tail = re.slice(pl.reStart + pl.open.length)\n this.debug('setting tail', re, pl)\n // maybe some even number of \\, then maybe 1 \\, followed by a |\n tail = tail.replace(/((?:\\\\{2}){0,64})(\\\\?)\\|/g, function (_, $1, $2) {\n if (!$2) {\n // the | isn't already escaped, so escape it.\n $2 = '\\\\'\n }\n\n // need to escape all those slashes *again*, without escaping the\n // one that we need for escaping the | character. As it works out,\n // escaping an even number of slashes can be done by simply repeating\n // it exactly after itself. That's why this trick works.\n //\n // I am sorry that you have to see this.\n return $1 + $1 + $2 + '|'\n })\n\n this.debug('tail=%j\\n %s', tail, tail, pl, re)\n var t = pl.type === '*' ? star\n : pl.type === '?' ? qmark\n : '\\\\' + pl.type\n\n hasMagic = true\n re = re.slice(0, pl.reStart) + t + '\\\\(' + tail\n }\n\n // handle trailing things that only matter at the very end.\n clearStateChar()\n if (escaping) {\n // trailing \\\\\n re += '\\\\\\\\'\n }\n\n // only need to apply the nodot start if the re starts with\n // something that could conceivably capture a dot\n var addPatternStart = false\n switch (re.charAt(0)) {\n case '[': case '.': case '(': addPatternStart = true\n }\n\n // Hack to work around lack of negative lookbehind in JS\n // A pattern like: *.!(x).!(y|z) needs to ensure that a name\n // like 'a.xyz.yz' doesn't match. So, the first negative\n // lookahead, has to look ALL the way ahead, to the end of\n // the pattern.\n for (var n = negativeLists.length - 1; n > -1; n--) {\n var nl = negativeLists[n]\n\n var nlBefore = re.slice(0, nl.reStart)\n var nlFirst = re.slice(nl.reStart, nl.reEnd - 8)\n var nlLast = re.slice(nl.reEnd - 8, nl.reEnd)\n var nlAfter = re.slice(nl.reEnd)\n\n nlLast += nlAfter\n\n // Handle nested stuff like *(*.js|!(*.json)), where open parens\n // mean that we should *not* include the ) in the bit that is considered\n // \"after\" the negated section.\n var openParensBefore = nlBefore.split('(').length - 1\n var cleanAfter = nlAfter\n for (i = 0; i < openParensBefore; i++) {\n cleanAfter = cleanAfter.replace(/\\)[+*?]?/, '')\n }\n nlAfter = cleanAfter\n\n var dollar = ''\n if (nlAfter === '' && isSub !== SUBPARSE) {\n dollar = '$'\n }\n var newRe = nlBefore + nlFirst + nlAfter + dollar + nlLast\n re = newRe\n }\n\n // if the re is not \"\" at this point, then we need to make sure\n // it doesn't match against an empty path part.\n // Otherwise a/* will match a/, which it should not.\n if (re !== '' && hasMagic) {\n re = '(?=.)' + re\n }\n\n if (addPatternStart) {\n re = patternStart + re\n }\n\n // parsing just a piece of a larger pattern.\n if (isSub === SUBPARSE) {\n return [re, hasMagic]\n }\n\n // skip the regexp for non-magical patterns\n // unescape anything in it, though, so that it'll be\n // an exact match against a file etc.\n if (!hasMagic) {\n return globUnescape(pattern)\n }\n\n var flags = options.nocase ? 'i' : ''\n try {\n var regExp = new RegExp('^' + re + '$', flags)\n } catch (er) /* istanbul ignore next - should be impossible */ {\n // If it was an invalid regular expression, then it can't match\n // anything. This trick looks for a character after the end of\n // the string, which is of course impossible, except in multi-line\n // mode, but it's not a /m regex.\n return new RegExp('$.')\n }\n\n regExp._glob = pattern\n regExp._src = re\n\n return regExp\n}\n\nminimatch.makeRe = function (pattern, options) {\n return new Minimatch(pattern, options || {}).makeRe()\n}\n\nMinimatch.prototype.makeRe = makeRe\nfunction makeRe () {\n if (this.regexp || this.regexp === false) return this.regexp\n\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 var set = this.set\n\n if (!set.length) {\n this.regexp = false\n return this.regexp\n }\n var options = this.options\n\n var twoStar = options.noglobstar ? star\n : options.dot ? twoStarDot\n : twoStarNoDot\n var flags = options.nocase ? 'i' : ''\n\n var re = set.map(function (pattern) {\n return pattern.map(function (p) {\n return (p === GLOBSTAR) ? twoStar\n : (typeof p === 'string') ? regExpEscape(p)\n : p._src\n }).join('\\\\\\/')\n }).join('|')\n\n // must match entire pattern\n // ending in a * or ** will make it less strict.\n re = '^(?:' + re + ')$'\n\n // can match anything, as long as it's not this.\n if (this.negate) re = '^(?!' + re + ').*$'\n\n try {\n this.regexp = new RegExp(re, flags)\n } catch (ex) /* istanbul ignore next - should be impossible */ {\n this.regexp = false\n }\n return this.regexp\n}\n\nminimatch.match = function (list, pattern, options) {\n options = options || {}\n var mm = new Minimatch(pattern, options)\n list = list.filter(function (f) {\n return mm.match(f)\n })\n if (mm.options.nonull && !list.length) {\n list.push(pattern)\n }\n return list\n}\n\nMinimatch.prototype.match = function match (f, partial) {\n if (typeof partial === 'undefined') 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) return false\n if (this.empty) return f === ''\n\n if (f === '/' && partial) return true\n\n var options = this.options\n\n // windows: need to use /, not \\\n if (path.sep !== '/') {\n f = f.split(path.sep).join('/')\n }\n\n // treat the test path as a set of pathparts.\n f = f.split(slashSplit)\n this.debug(this.pattern, 'split', f)\n\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\n var set = this.set\n this.debug(this.pattern, 'set', set)\n\n // Find the basename of the path by looking for the last non-empty segment\n var filename\n var i\n for (i = f.length - 1; i >= 0; i--) {\n filename = f[i]\n if (filename) break\n }\n\n for (i = 0; i < set.length; i++) {\n var pattern = set[i]\n var file = f\n if (options.matchBase && pattern.length === 1) {\n file = [filename]\n }\n var hit = this.matchOne(file, pattern, partial)\n if (hit) {\n if (options.flipNegate) return true\n return !this.negate\n }\n }\n\n // didn't get any hits. this is success if it's a negative\n // pattern, failure otherwise.\n if (options.flipNegate) return false\n return this.negate\n}\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.\nMinimatch.prototype.matchOne = function (file, pattern, partial) {\n var options = this.options\n\n this.debug('matchOne',\n { 'this': this, file: file, pattern: pattern })\n\n this.debug('matchOne', file.length, pattern.length)\n\n for (var fi = 0,\n pi = 0,\n fl = file.length,\n pl = pattern.length\n ; (fi < fl) && (pi < pl)\n ; fi++, pi++) {\n this.debug('matchOne loop')\n var p = pattern[pi]\n var f = file[fi]\n\n this.debug(pattern, p, f)\n\n // should be impossible.\n // some invalid regexp stuff in the set.\n /* istanbul ignore if */\n if (p === false) return false\n\n if (p === GLOBSTAR) {\n this.debug('GLOBSTAR', [pattern, p, f])\n\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] === '.' || file[fi] === '..' ||\n (!options.dot && file[fi].charAt(0) === '.')) return false\n }\n return true\n }\n\n // ok, let's see if we can swallow whatever we can.\n while (fr < fl) {\n var swallowee = file[fr]\n\n this.debug('\\nglobstar while', file, fr, pattern, pr, swallowee)\n\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 } else {\n // can't swallow \".\" or \"..\" ever.\n // can only swallow \".foo\" when explicitly asked.\n if (swallowee === '.' || swallowee === '..' ||\n (!options.dot && swallowee.charAt(0) === '.')) {\n this.debug('dot detected!', file, fr, pattern, pr)\n break\n }\n\n // ** swallows a segment, and continue.\n this.debug('globstar swallow a segment, and continue')\n fr++\n }\n }\n\n // no match was found.\n // However, in partial mode, we can't say this is necessarily over.\n // If there's more *pattern* left, then\n /* istanbul ignore if */\n if (partial) {\n // ran out of file\n this.debug('\\n>>> no match, partial?', file, fr, pattern, pr)\n if (fr === fl) return true\n }\n return false\n }\n\n // something other than **\n // non-magic patterns just have to match exactly\n // patterns with magic have been turned into regexps.\n var hit\n if (typeof p === 'string') {\n hit = f === p\n this.debug('string match', p, f, hit)\n } else {\n hit = f.match(p)\n this.debug('pattern match', p, f, hit)\n }\n\n if (!hit) return false\n }\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\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 } 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 } else /* istanbul ignore 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 }\n\n // should be unreachable.\n /* istanbul ignore next */\n throw new Error('wtf?')\n}\n\n// replace stuff like \\* with *\nfunction globUnescape (s) {\n return s.replace(/\\\\(.)/g, '$1')\n}\n\nfunction regExpEscape (s) {\n return s.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&')\n}\n","if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n })\n }\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n }\n}\n","try {\n var util = require('util');\n /* istanbul ignore next */\n if (typeof util.inherits !== 'function') throw '';\n module.exports = util.inherits;\n} catch (e) {\n /* istanbul ignore next */\n module.exports = require('./inherits_browser.js');\n}\n","'use strict';\n\nfunction posix(path) {\n\treturn path.charAt(0) === '/';\n}\n\nfunction win32(path) {\n\t// https://github.com/nodejs/node/blob/b3fcc245fb25539909ef1d5eaa01dbf92e168633/lib/path.js#L56\n\tvar splitDeviceRe = /^([a-zA-Z]:|[\\\\\\/]{2}[^\\\\\\/]+[\\\\\\/]+[^\\\\\\/]+)?([\\\\\\/])?([\\s\\S]*?)$/;\n\tvar result = splitDeviceRe.exec(path);\n\tvar device = result[1] || '';\n\tvar isUnc = Boolean(device && device.charAt(1) !== ':');\n\n\t// UNC paths are always absolute\n\treturn Boolean(result[2] || isUnc);\n}\n\nmodule.exports = process.platform === 'win32' ? win32 : posix;\nmodule.exports.posix = posix;\nmodule.exports.win32 = win32;\n","exports.setopts = setopts\nexports.ownProp = ownProp\nexports.makeAbs = makeAbs\nexports.finish = finish\nexports.mark = mark\nexports.isIgnored = isIgnored\nexports.childrenIgnored = childrenIgnored\n\nfunction ownProp (obj, field) {\n return Object.prototype.hasOwnProperty.call(obj, field)\n}\n\nvar fs = require(\"fs\")\nvar path = require(\"path\")\nvar minimatch = require(\"minimatch\")\nvar isAbsolute = require(\"path-is-absolute\")\nvar Minimatch = minimatch.Minimatch\n\nfunction alphasort (a, b) {\n return a.localeCompare(b, 'en')\n}\n\nfunction setupIgnores (self, options) {\n self.ignore = options.ignore || []\n\n if (!Array.isArray(self.ignore))\n self.ignore = [self.ignore]\n\n if (self.ignore.length) {\n self.ignore = self.ignore.map(ignoreMap)\n }\n}\n\n// ignore patterns are always in dot:true mode.\nfunction ignoreMap (pattern) {\n var gmatcher = null\n if (pattern.slice(-3) === '/**') {\n var gpattern = pattern.replace(/(\\/\\*\\*)+$/, '')\n gmatcher = new Minimatch(gpattern, { dot: true })\n }\n\n return {\n matcher: new Minimatch(pattern, { dot: true }),\n gmatcher: gmatcher\n }\n}\n\nfunction setopts (self, pattern, options) {\n if (!options)\n options = {}\n\n // base-matching: just use globstar for that.\n if (options.matchBase && -1 === pattern.indexOf(\"/\")) {\n if (options.noglobstar) {\n throw new Error(\"base matching requires globstar\")\n }\n pattern = \"**/\" + pattern\n }\n\n self.silent = !!options.silent\n self.pattern = pattern\n self.strict = options.strict !== false\n self.realpath = !!options.realpath\n self.realpathCache = options.realpathCache || Object.create(null)\n self.follow = !!options.follow\n self.dot = !!options.dot\n self.mark = !!options.mark\n self.nodir = !!options.nodir\n if (self.nodir)\n self.mark = true\n self.sync = !!options.sync\n self.nounique = !!options.nounique\n self.nonull = !!options.nonull\n self.nosort = !!options.nosort\n self.nocase = !!options.nocase\n self.stat = !!options.stat\n self.noprocess = !!options.noprocess\n self.absolute = !!options.absolute\n self.fs = options.fs || fs\n\n self.maxLength = options.maxLength || Infinity\n self.cache = options.cache || Object.create(null)\n self.statCache = options.statCache || Object.create(null)\n self.symlinks = options.symlinks || Object.create(null)\n\n setupIgnores(self, options)\n\n self.changedCwd = false\n var cwd = process.cwd()\n if (!ownProp(options, \"cwd\"))\n self.cwd = cwd\n else {\n self.cwd = path.resolve(options.cwd)\n self.changedCwd = self.cwd !== cwd\n }\n\n self.root = options.root || path.resolve(self.cwd, \"/\")\n self.root = path.resolve(self.root)\n if (process.platform === \"win32\")\n self.root = self.root.replace(/\\\\/g, \"/\")\n\n // TODO: is an absolute `cwd` supposed to be resolved against `root`?\n // e.g. { cwd: '/test', root: __dirname } === path.join(__dirname, '/test')\n self.cwdAbs = isAbsolute(self.cwd) ? self.cwd : makeAbs(self, self.cwd)\n if (process.platform === \"win32\")\n self.cwdAbs = self.cwdAbs.replace(/\\\\/g, \"/\")\n self.nomount = !!options.nomount\n\n // disable comments and negation in Minimatch.\n // Note that they are not supported in Glob itself anyway.\n options.nonegate = true\n options.nocomment = true\n // always treat \\ in patterns as escapes, not path separators\n options.allowWindowsEscape = false\n\n self.minimatch = new Minimatch(pattern, options)\n self.options = self.minimatch.options\n}\n\nfunction finish (self) {\n var nou = self.nounique\n var all = nou ? [] : Object.create(null)\n\n for (var i = 0, l = self.matches.length; i < l; i ++) {\n var matches = self.matches[i]\n if (!matches || Object.keys(matches).length === 0) {\n if (self.nonull) {\n // do like the shell, and spit out the literal glob\n var literal = self.minimatch.globSet[i]\n if (nou)\n all.push(literal)\n else\n all[literal] = true\n }\n } else {\n // had matches\n var m = Object.keys(matches)\n if (nou)\n all.push.apply(all, m)\n else\n m.forEach(function (m) {\n all[m] = true\n })\n }\n }\n\n if (!nou)\n all = Object.keys(all)\n\n if (!self.nosort)\n all = all.sort(alphasort)\n\n // at *some* point we statted all of these\n if (self.mark) {\n for (var i = 0; i < all.length; i++) {\n all[i] = self._mark(all[i])\n }\n if (self.nodir) {\n all = all.filter(function (e) {\n var notDir = !(/\\/$/.test(e))\n var c = self.cache[e] || self.cache[makeAbs(self, e)]\n if (notDir && c)\n notDir = c !== 'DIR' && !Array.isArray(c)\n return notDir\n })\n }\n }\n\n if (self.ignore.length)\n all = all.filter(function(m) {\n return !isIgnored(self, m)\n })\n\n self.found = all\n}\n\nfunction mark (self, p) {\n var abs = makeAbs(self, p)\n var c = self.cache[abs]\n var m = p\n if (c) {\n var isDir = c === 'DIR' || Array.isArray(c)\n var slash = p.slice(-1) === '/'\n\n if (isDir && !slash)\n m += '/'\n else if (!isDir && slash)\n m = m.slice(0, -1)\n\n if (m !== p) {\n var mabs = makeAbs(self, m)\n self.statCache[mabs] = self.statCache[abs]\n self.cache[mabs] = self.cache[abs]\n }\n }\n\n return m\n}\n\n// lotta situps...\nfunction makeAbs (self, f) {\n var abs = f\n if (f.charAt(0) === '/') {\n abs = path.join(self.root, f)\n } else if (isAbsolute(f) || f === '') {\n abs = f\n } else if (self.changedCwd) {\n abs = path.resolve(self.cwd, f)\n } else {\n abs = path.resolve(f)\n }\n\n if (process.platform === 'win32')\n abs = abs.replace(/\\\\/g, '/')\n\n return abs\n}\n\n\n// Return true, if pattern ends with globstar '**', for the accompanying parent directory.\n// Ex:- If node_modules/** is the pattern, add 'node_modules' to ignore list along with it's contents\nfunction isIgnored (self, path) {\n if (!self.ignore.length)\n return false\n\n return self.ignore.some(function(item) {\n return item.matcher.match(path) || !!(item.gmatcher && item.gmatcher.match(path))\n })\n}\n\nfunction childrenIgnored (self, path) {\n if (!self.ignore.length)\n return false\n\n return self.ignore.some(function(item) {\n return !!(item.gmatcher && item.gmatcher.match(path))\n })\n}\n","module.exports = globSync\nglobSync.GlobSync = GlobSync\n\nvar rp = require('fs.realpath')\nvar minimatch = require('minimatch')\nvar Minimatch = minimatch.Minimatch\nvar Glob = require('./glob.js').Glob\nvar util = require('util')\nvar path = require('path')\nvar assert = require('assert')\nvar isAbsolute = require('path-is-absolute')\nvar common = require('./common.js')\nvar setopts = common.setopts\nvar ownProp = common.ownProp\nvar childrenIgnored = common.childrenIgnored\nvar isIgnored = common.isIgnored\n\nfunction globSync (pattern, options) {\n if (typeof options === 'function' || arguments.length === 3)\n throw new TypeError('callback provided to sync glob\\n'+\n 'See: https://github.com/isaacs/node-glob/issues/167')\n\n return new GlobSync(pattern, options).found\n}\n\nfunction GlobSync (pattern, options) {\n if (!pattern)\n throw new Error('must provide pattern')\n\n if (typeof options === 'function' || arguments.length === 3)\n throw new TypeError('callback provided to sync glob\\n'+\n 'See: https://github.com/isaacs/node-glob/issues/167')\n\n if (!(this instanceof GlobSync))\n return new GlobSync(pattern, options)\n\n setopts(this, pattern, options)\n\n if (this.noprocess)\n return this\n\n var n = this.minimatch.set.length\n this.matches = new Array(n)\n for (var i = 0; i < n; i ++) {\n this._process(this.minimatch.set[i], i, false)\n }\n this._finish()\n}\n\nGlobSync.prototype._finish = function () {\n assert.ok(this instanceof GlobSync)\n if (this.realpath) {\n var self = this\n this.matches.forEach(function (matchset, index) {\n var set = self.matches[index] = Object.create(null)\n for (var p in matchset) {\n try {\n p = self._makeAbs(p)\n var real = rp.realpathSync(p, self.realpathCache)\n set[real] = true\n } catch (er) {\n if (er.syscall === 'stat')\n set[self._makeAbs(p)] = true\n else\n throw er\n }\n }\n })\n }\n common.finish(this)\n}\n\n\nGlobSync.prototype._process = function (pattern, index, inGlobStar) {\n assert.ok(this instanceof GlobSync)\n\n // Get the first [n] parts of pattern that are all strings.\n var n = 0\n while (typeof pattern[n] === 'string') {\n n ++\n }\n // now n is the index of the first one that is *not* a string.\n\n // See if there's anything else\n var prefix\n switch (n) {\n // if not, then this is rather simple\n case pattern.length:\n this._processSimple(pattern.join('/'), index)\n return\n\n case 0:\n // pattern *starts* with some non-trivial item.\n // going to readdir(cwd), but not include the prefix in matches.\n prefix = null\n break\n\n default:\n // pattern has some string bits in the front.\n // whatever it starts with, whether that's 'absolute' like /foo/bar,\n // or 'relative' like '../baz'\n prefix = pattern.slice(0, n).join('/')\n break\n }\n\n var remain = pattern.slice(n)\n\n // get the list of entries.\n var read\n if (prefix === null)\n read = '.'\n else if (isAbsolute(prefix) ||\n isAbsolute(pattern.map(function (p) {\n return typeof p === 'string' ? p : '[*]'\n }).join('/'))) {\n if (!prefix || !isAbsolute(prefix))\n prefix = '/' + prefix\n read = prefix\n } else\n read = prefix\n\n var abs = this._makeAbs(read)\n\n //if ignored, skip processing\n if (childrenIgnored(this, read))\n return\n\n var isGlobStar = remain[0] === minimatch.GLOBSTAR\n if (isGlobStar)\n this._processGlobStar(prefix, read, abs, remain, index, inGlobStar)\n else\n this._processReaddir(prefix, read, abs, remain, index, inGlobStar)\n}\n\n\nGlobSync.prototype._processReaddir = function (prefix, read, abs, remain, index, inGlobStar) {\n var entries = this._readdir(abs, inGlobStar)\n\n // if the abs isn't a dir, then nothing can match!\n if (!entries)\n return\n\n // It will only match dot entries if it starts with a dot, or if\n // dot is set. Stuff like @(.foo|.bar) isn't allowed.\n var pn = remain[0]\n var negate = !!this.minimatch.negate\n var rawGlob = pn._glob\n var dotOk = this.dot || rawGlob.charAt(0) === '.'\n\n var matchedEntries = []\n for (var i = 0; i < entries.length; i++) {\n var e = entries[i]\n if (e.charAt(0) !== '.' || dotOk) {\n var m\n if (negate && !prefix) {\n m = !e.match(pn)\n } else {\n m = e.match(pn)\n }\n if (m)\n matchedEntries.push(e)\n }\n }\n\n var len = matchedEntries.length\n // If there are no matched entries, then nothing matches.\n if (len === 0)\n return\n\n // if this is the last remaining pattern bit, then no need for\n // an additional stat *unless* the user has specified mark or\n // stat explicitly. We know they exist, since readdir returned\n // them.\n\n if (remain.length === 1 && !this.mark && !this.stat) {\n if (!this.matches[index])\n this.matches[index] = Object.create(null)\n\n for (var i = 0; i < len; i ++) {\n var e = matchedEntries[i]\n if (prefix) {\n if (prefix.slice(-1) !== '/')\n e = prefix + '/' + e\n else\n e = prefix + e\n }\n\n if (e.charAt(0) === '/' && !this.nomount) {\n e = path.join(this.root, e)\n }\n this._emitMatch(index, e)\n }\n // This was the last one, and no stats were needed\n return\n }\n\n // now test all matched entries as stand-ins for that part\n // of the pattern.\n remain.shift()\n for (var i = 0; i < len; i ++) {\n var e = matchedEntries[i]\n var newPattern\n if (prefix)\n newPattern = [prefix, e]\n else\n newPattern = [e]\n this._process(newPattern.concat(remain), index, inGlobStar)\n }\n}\n\n\nGlobSync.prototype._emitMatch = function (index, e) {\n if (isIgnored(this, e))\n return\n\n var abs = this._makeAbs(e)\n\n if (this.mark)\n e = this._mark(e)\n\n if (this.absolute) {\n e = abs\n }\n\n if (this.matches[index][e])\n return\n\n if (this.nodir) {\n var c = this.cache[abs]\n if (c === 'DIR' || Array.isArray(c))\n return\n }\n\n this.matches[index][e] = true\n\n if (this.stat)\n this._stat(e)\n}\n\n\nGlobSync.prototype._readdirInGlobStar = function (abs) {\n // follow all symlinked directories forever\n // just proceed as if this is a non-globstar situation\n if (this.follow)\n return this._readdir(abs, false)\n\n var entries\n var lstat\n var stat\n try {\n lstat = this.fs.lstatSync(abs)\n } catch (er) {\n if (er.code === 'ENOENT') {\n // lstat failed, doesn't exist\n return null\n }\n }\n\n var isSym = lstat && lstat.isSymbolicLink()\n this.symlinks[abs] = isSym\n\n // If it's not a symlink or a dir, then it's definitely a regular file.\n // don't bother doing a readdir in that case.\n if (!isSym && lstat && !lstat.isDirectory())\n this.cache[abs] = 'FILE'\n else\n entries = this._readdir(abs, false)\n\n return entries\n}\n\nGlobSync.prototype._readdir = function (abs, inGlobStar) {\n var entries\n\n if (inGlobStar && !ownProp(this.symlinks, abs))\n return this._readdirInGlobStar(abs)\n\n if (ownProp(this.cache, abs)) {\n var c = this.cache[abs]\n if (!c || c === 'FILE')\n return null\n\n if (Array.isArray(c))\n return c\n }\n\n try {\n return this._readdirEntries(abs, this.fs.readdirSync(abs))\n } catch (er) {\n this._readdirError(abs, er)\n return null\n }\n}\n\nGlobSync.prototype._readdirEntries = function (abs, entries) {\n // if we haven't asked to stat everything, then just\n // assume that everything in there exists, so we can avoid\n // having to stat it a second time.\n if (!this.mark && !this.stat) {\n for (var i = 0; i < entries.length; i ++) {\n var e = entries[i]\n if (abs === '/')\n e = abs + e\n else\n e = abs + '/' + e\n this.cache[e] = true\n }\n }\n\n this.cache[abs] = entries\n\n // mark and cache dir-ness\n return entries\n}\n\nGlobSync.prototype._readdirError = function (f, er) {\n // handle errors, and cache the information\n switch (er.code) {\n case 'ENOTSUP': // https://github.com/isaacs/node-glob/issues/205\n case 'ENOTDIR': // totally normal. means it *does* exist.\n var abs = this._makeAbs(f)\n this.cache[abs] = 'FILE'\n if (abs === this.cwdAbs) {\n var error = new Error(er.code + ' invalid cwd ' + this.cwd)\n error.path = this.cwd\n error.code = er.code\n throw error\n }\n break\n\n case 'ENOENT': // not terribly unusual\n case 'ELOOP':\n case 'ENAMETOOLONG':\n case 'UNKNOWN':\n this.cache[this._makeAbs(f)] = false\n break\n\n default: // some unusual error. Treat as failure.\n this.cache[this._makeAbs(f)] = false\n if (this.strict)\n throw er\n if (!this.silent)\n console.error('glob error', er)\n break\n }\n}\n\nGlobSync.prototype._processGlobStar = function (prefix, read, abs, remain, index, inGlobStar) {\n\n var entries = this._readdir(abs, inGlobStar)\n\n // no entries means not a dir, so it can never have matches\n // foo.txt/** doesn't match foo.txt\n if (!entries)\n return\n\n // test without the globstar, and with every child both below\n // and replacing the globstar.\n var remainWithoutGlobStar = remain.slice(1)\n var gspref = prefix ? [ prefix ] : []\n var noGlobStar = gspref.concat(remainWithoutGlobStar)\n\n // the noGlobStar pattern exits the inGlobStar state\n this._process(noGlobStar, index, false)\n\n var len = entries.length\n var isSym = this.symlinks[abs]\n\n // If it's a symlink, and we're in a globstar, then stop\n if (isSym && inGlobStar)\n return\n\n for (var i = 0; i < len; i++) {\n var e = entries[i]\n if (e.charAt(0) === '.' && !this.dot)\n continue\n\n // these two cases enter the inGlobStar state\n var instead = gspref.concat(entries[i], remainWithoutGlobStar)\n this._process(instead, index, true)\n\n var below = gspref.concat(entries[i], remain)\n this._process(below, index, true)\n }\n}\n\nGlobSync.prototype._processSimple = function (prefix, index) {\n // XXX review this. Shouldn't it be doing the mounting etc\n // before doing stat? kinda weird?\n var exists = this._stat(prefix)\n\n if (!this.matches[index])\n this.matches[index] = Object.create(null)\n\n // If it doesn't exist, then just mark the lack of results\n if (!exists)\n return\n\n if (prefix && isAbsolute(prefix) && !this.nomount) {\n var trail = /[\\/\\\\]$/.test(prefix)\n if (prefix.charAt(0) === '/') {\n prefix = path.join(this.root, prefix)\n } else {\n prefix = path.resolve(this.root, prefix)\n if (trail)\n prefix += '/'\n }\n }\n\n if (process.platform === 'win32')\n prefix = prefix.replace(/\\\\/g, '/')\n\n // Mark this as a match\n this._emitMatch(index, prefix)\n}\n\n// Returns either 'DIR', 'FILE', or false\nGlobSync.prototype._stat = function (f) {\n var abs = this._makeAbs(f)\n var needDir = f.slice(-1) === '/'\n\n if (f.length > this.maxLength)\n return false\n\n if (!this.stat && ownProp(this.cache, abs)) {\n var c = this.cache[abs]\n\n if (Array.isArray(c))\n c = 'DIR'\n\n // It exists, but maybe not how we need it\n if (!needDir || c === 'DIR')\n return c\n\n if (needDir && c === 'FILE')\n return false\n\n // otherwise we have to stat, because maybe c=true\n // if we know it exists, but not what it is.\n }\n\n var exists\n var stat = this.statCache[abs]\n if (!stat) {\n var lstat\n try {\n lstat = this.fs.lstatSync(abs)\n } catch (er) {\n if (er && (er.code === 'ENOENT' || er.code === 'ENOTDIR')) {\n this.statCache[abs] = false\n return false\n }\n }\n\n if (lstat && lstat.isSymbolicLink()) {\n try {\n stat = this.fs.statSync(abs)\n } catch (er) {\n stat = lstat\n }\n } else {\n stat = lstat\n }\n }\n\n this.statCache[abs] = stat\n\n var c = true\n if (stat)\n c = stat.isDirectory() ? 'DIR' : 'FILE'\n\n this.cache[abs] = this.cache[abs] || c\n\n if (needDir && c === 'FILE')\n return false\n\n return c\n}\n\nGlobSync.prototype._mark = function (p) {\n return common.mark(this, p)\n}\n\nGlobSync.prototype._makeAbs = function (f) {\n return common.makeAbs(this, f)\n}\n","var wrappy = require('wrappy')\nvar reqs = Object.create(null)\nvar once = require('once')\n\nmodule.exports = wrappy(inflight)\n\nfunction inflight (key, cb) {\n if (reqs[key]) {\n reqs[key].push(cb)\n return null\n } else {\n reqs[key] = [cb]\n return makeres(key)\n }\n}\n\nfunction makeres (key) {\n return once(function RES () {\n var cbs = reqs[key]\n var len = cbs.length\n var args = slice(arguments)\n\n // XXX It's somewhat ambiguous whether a new callback added in this\n // pass should be queued for later execution if something in the\n // list of callbacks throws, or if it should just be discarded.\n // However, it's such an edge case that it hardly matters, and either\n // choice is likely as surprising as the other.\n // As it happens, we do go ahead and schedule it for later execution.\n try {\n for (var i = 0; i < len; i++) {\n cbs[i].apply(null, args)\n }\n } finally {\n if (cbs.length > len) {\n // added more in the interim.\n // de-zalgo, just in case, but don't call again.\n cbs.splice(0, len)\n process.nextTick(function () {\n RES.apply(null, args)\n })\n } else {\n delete reqs[key]\n }\n }\n })\n}\n\nfunction slice (args) {\n var length = args.length\n var array = []\n\n for (var i = 0; i < length; i++) array[i] = args[i]\n return array\n}\n","// Approach:\n//\n// 1. Get the minimatch set\n// 2. For each pattern in the set, PROCESS(pattern, false)\n// 3. Store matches per-set, then uniq them\n//\n// PROCESS(pattern, inGlobStar)\n// Get the first [n] items from pattern that are all strings\n// Join these together. This is PREFIX.\n// If there is no more remaining, then stat(PREFIX) and\n// add to matches if it succeeds. END.\n//\n// If inGlobStar and PREFIX is symlink and points to dir\n// set ENTRIES = []\n// else readdir(PREFIX) as ENTRIES\n// If fail, END\n//\n// with ENTRIES\n// If pattern[n] is GLOBSTAR\n// // handle the case where the globstar match is empty\n// // by pruning it out, and testing the resulting pattern\n// PROCESS(pattern[0..n] + pattern[n+1 .. $], false)\n// // handle other cases.\n// for ENTRY in ENTRIES (not dotfiles)\n// // attach globstar + tail onto the entry\n// // Mark that this entry is a globstar match\n// PROCESS(pattern[0..n] + ENTRY + pattern[n .. $], true)\n//\n// else // not globstar\n// for ENTRY in ENTRIES (not dotfiles, unless pattern[n] is dot)\n// Test ENTRY against pattern[n]\n// If fails, continue\n// If passes, PROCESS(pattern[0..n] + item + pattern[n+1 .. $])\n//\n// Caveat:\n// Cache all stats and readdirs results to minimize syscall. Since all\n// we ever care about is existence and directory-ness, we can just keep\n// `true` for files, and [children,...] for directories, or `false` for\n// things that don't exist.\n\nmodule.exports = glob\n\nvar rp = require('fs.realpath')\nvar minimatch = require('minimatch')\nvar Minimatch = minimatch.Minimatch\nvar inherits = require('inherits')\nvar EE = require('events').EventEmitter\nvar path = require('path')\nvar assert = require('assert')\nvar isAbsolute = require('path-is-absolute')\nvar globSync = require('./sync.js')\nvar common = require('./common.js')\nvar setopts = common.setopts\nvar ownProp = common.ownProp\nvar inflight = require('inflight')\nvar util = require('util')\nvar childrenIgnored = common.childrenIgnored\nvar isIgnored = common.isIgnored\n\nvar once = require('once')\n\nfunction glob (pattern, options, cb) {\n if (typeof options === 'function') cb = options, options = {}\n if (!options) options = {}\n\n if (options.sync) {\n if (cb)\n throw new TypeError('callback provided to sync glob')\n return globSync(pattern, options)\n }\n\n return new Glob(pattern, options, cb)\n}\n\nglob.sync = globSync\nvar GlobSync = glob.GlobSync = globSync.GlobSync\n\n// old api surface\nglob.glob = glob\n\nfunction extend (origin, add) {\n if (add === null || typeof add !== 'object') {\n return origin\n }\n\n var keys = Object.keys(add)\n var i = keys.length\n while (i--) {\n origin[keys[i]] = add[keys[i]]\n }\n return origin\n}\n\nglob.hasMagic = function (pattern, options_) {\n var options = extend({}, options_)\n options.noprocess = true\n\n var g = new Glob(pattern, options)\n var set = g.minimatch.set\n\n if (!pattern)\n return false\n\n if (set.length > 1)\n return true\n\n for (var j = 0; j < set[0].length; j++) {\n if (typeof set[0][j] !== 'string')\n return true\n }\n\n return false\n}\n\nglob.Glob = Glob\ninherits(Glob, EE)\nfunction Glob (pattern, options, cb) {\n if (typeof options === 'function') {\n cb = options\n options = null\n }\n\n if (options && options.sync) {\n if (cb)\n throw new TypeError('callback provided to sync glob')\n return new GlobSync(pattern, options)\n }\n\n if (!(this instanceof Glob))\n return new Glob(pattern, options, cb)\n\n setopts(this, pattern, options)\n this._didRealPath = false\n\n // process each pattern in the minimatch set\n var n = this.minimatch.set.length\n\n // The matches are stored as {: true,...} so that\n // duplicates are automagically pruned.\n // Later, we do an Object.keys() on these.\n // Keep them as a list so we can fill in when nonull is set.\n this.matches = new Array(n)\n\n if (typeof cb === 'function') {\n cb = once(cb)\n this.on('error', cb)\n this.on('end', function (matches) {\n cb(null, matches)\n })\n }\n\n var self = this\n this._processing = 0\n\n this._emitQueue = []\n this._processQueue = []\n this.paused = false\n\n if (this.noprocess)\n return this\n\n if (n === 0)\n return done()\n\n var sync = true\n for (var i = 0; i < n; i ++) {\n this._process(this.minimatch.set[i], i, false, done)\n }\n sync = false\n\n function done () {\n --self._processing\n if (self._processing <= 0) {\n if (sync) {\n process.nextTick(function () {\n self._finish()\n })\n } else {\n self._finish()\n }\n }\n }\n}\n\nGlob.prototype._finish = function () {\n assert(this instanceof Glob)\n if (this.aborted)\n return\n\n if (this.realpath && !this._didRealpath)\n return this._realpath()\n\n common.finish(this)\n this.emit('end', this.found)\n}\n\nGlob.prototype._realpath = function () {\n if (this._didRealpath)\n return\n\n this._didRealpath = true\n\n var n = this.matches.length\n if (n === 0)\n return this._finish()\n\n var self = this\n for (var i = 0; i < this.matches.length; i++)\n this._realpathSet(i, next)\n\n function next () {\n if (--n === 0)\n self._finish()\n }\n}\n\nGlob.prototype._realpathSet = function (index, cb) {\n var matchset = this.matches[index]\n if (!matchset)\n return cb()\n\n var found = Object.keys(matchset)\n var self = this\n var n = found.length\n\n if (n === 0)\n return cb()\n\n var set = this.matches[index] = Object.create(null)\n found.forEach(function (p, i) {\n // If there's a problem with the stat, then it means that\n // one or more of the links in the realpath couldn't be\n // resolved. just return the abs value in that case.\n p = self._makeAbs(p)\n rp.realpath(p, self.realpathCache, function (er, real) {\n if (!er)\n set[real] = true\n else if (er.syscall === 'stat')\n set[p] = true\n else\n self.emit('error', er) // srsly wtf right here\n\n if (--n === 0) {\n self.matches[index] = set\n cb()\n }\n })\n })\n}\n\nGlob.prototype._mark = function (p) {\n return common.mark(this, p)\n}\n\nGlob.prototype._makeAbs = function (f) {\n return common.makeAbs(this, f)\n}\n\nGlob.prototype.abort = function () {\n this.aborted = true\n this.emit('abort')\n}\n\nGlob.prototype.pause = function () {\n if (!this.paused) {\n this.paused = true\n this.emit('pause')\n }\n}\n\nGlob.prototype.resume = function () {\n if (this.paused) {\n this.emit('resume')\n this.paused = false\n if (this._emitQueue.length) {\n var eq = this._emitQueue.slice(0)\n this._emitQueue.length = 0\n for (var i = 0; i < eq.length; i ++) {\n var e = eq[i]\n this._emitMatch(e[0], e[1])\n }\n }\n if (this._processQueue.length) {\n var pq = this._processQueue.slice(0)\n this._processQueue.length = 0\n for (var i = 0; i < pq.length; i ++) {\n var p = pq[i]\n this._processing--\n this._process(p[0], p[1], p[2], p[3])\n }\n }\n }\n}\n\nGlob.prototype._process = function (pattern, index, inGlobStar, cb) {\n assert(this instanceof Glob)\n assert(typeof cb === 'function')\n\n if (this.aborted)\n return\n\n this._processing++\n if (this.paused) {\n this._processQueue.push([pattern, index, inGlobStar, cb])\n return\n }\n\n //console.error('PROCESS %d', this._processing, pattern)\n\n // Get the first [n] parts of pattern that are all strings.\n var n = 0\n while (typeof pattern[n] === 'string') {\n n ++\n }\n // now n is the index of the first one that is *not* a string.\n\n // see if there's anything else\n var prefix\n switch (n) {\n // if not, then this is rather simple\n case pattern.length:\n this._processSimple(pattern.join('/'), index, cb)\n return\n\n case 0:\n // pattern *starts* with some non-trivial item.\n // going to readdir(cwd), but not include the prefix in matches.\n prefix = null\n break\n\n default:\n // pattern has some string bits in the front.\n // whatever it starts with, whether that's 'absolute' like /foo/bar,\n // or 'relative' like '../baz'\n prefix = pattern.slice(0, n).join('/')\n break\n }\n\n var remain = pattern.slice(n)\n\n // get the list of entries.\n var read\n if (prefix === null)\n read = '.'\n else if (isAbsolute(prefix) ||\n isAbsolute(pattern.map(function (p) {\n return typeof p === 'string' ? p : '[*]'\n }).join('/'))) {\n if (!prefix || !isAbsolute(prefix))\n prefix = '/' + prefix\n read = prefix\n } else\n read = prefix\n\n var abs = this._makeAbs(read)\n\n //if ignored, skip _processing\n if (childrenIgnored(this, read))\n return cb()\n\n var isGlobStar = remain[0] === minimatch.GLOBSTAR\n if (isGlobStar)\n this._processGlobStar(prefix, read, abs, remain, index, inGlobStar, cb)\n else\n this._processReaddir(prefix, read, abs, remain, index, inGlobStar, cb)\n}\n\nGlob.prototype._processReaddir = function (prefix, read, abs, remain, index, inGlobStar, cb) {\n var self = this\n this._readdir(abs, inGlobStar, function (er, entries) {\n return self._processReaddir2(prefix, read, abs, remain, index, inGlobStar, entries, cb)\n })\n}\n\nGlob.prototype._processReaddir2 = function (prefix, read, abs, remain, index, inGlobStar, entries, cb) {\n\n // if the abs isn't a dir, then nothing can match!\n if (!entries)\n return cb()\n\n // It will only match dot entries if it starts with a dot, or if\n // dot is set. Stuff like @(.foo|.bar) isn't allowed.\n var pn = remain[0]\n var negate = !!this.minimatch.negate\n var rawGlob = pn._glob\n var dotOk = this.dot || rawGlob.charAt(0) === '.'\n\n var matchedEntries = []\n for (var i = 0; i < entries.length; i++) {\n var e = entries[i]\n if (e.charAt(0) !== '.' || dotOk) {\n var m\n if (negate && !prefix) {\n m = !e.match(pn)\n } else {\n m = e.match(pn)\n }\n if (m)\n matchedEntries.push(e)\n }\n }\n\n //console.error('prd2', prefix, entries, remain[0]._glob, matchedEntries)\n\n var len = matchedEntries.length\n // If there are no matched entries, then nothing matches.\n if (len === 0)\n return cb()\n\n // if this is the last remaining pattern bit, then no need for\n // an additional stat *unless* the user has specified mark or\n // stat explicitly. We know they exist, since readdir returned\n // them.\n\n if (remain.length === 1 && !this.mark && !this.stat) {\n if (!this.matches[index])\n this.matches[index] = Object.create(null)\n\n for (var i = 0; i < len; i ++) {\n var e = matchedEntries[i]\n if (prefix) {\n if (prefix !== '/')\n e = prefix + '/' + e\n else\n e = prefix + e\n }\n\n if (e.charAt(0) === '/' && !this.nomount) {\n e = path.join(this.root, e)\n }\n this._emitMatch(index, e)\n }\n // This was the last one, and no stats were needed\n return cb()\n }\n\n // now test all matched entries as stand-ins for that part\n // of the pattern.\n remain.shift()\n for (var i = 0; i < len; i ++) {\n var e = matchedEntries[i]\n var newPattern\n if (prefix) {\n if (prefix !== '/')\n e = prefix + '/' + e\n else\n e = prefix + e\n }\n this._process([e].concat(remain), index, inGlobStar, cb)\n }\n cb()\n}\n\nGlob.prototype._emitMatch = function (index, e) {\n if (this.aborted)\n return\n\n if (isIgnored(this, e))\n return\n\n if (this.paused) {\n this._emitQueue.push([index, e])\n return\n }\n\n var abs = isAbsolute(e) ? e : this._makeAbs(e)\n\n if (this.mark)\n e = this._mark(e)\n\n if (this.absolute)\n e = abs\n\n if (this.matches[index][e])\n return\n\n if (this.nodir) {\n var c = this.cache[abs]\n if (c === 'DIR' || Array.isArray(c))\n return\n }\n\n this.matches[index][e] = true\n\n var st = this.statCache[abs]\n if (st)\n this.emit('stat', e, st)\n\n this.emit('match', e)\n}\n\nGlob.prototype._readdirInGlobStar = function (abs, cb) {\n if (this.aborted)\n return\n\n // follow all symlinked directories forever\n // just proceed as if this is a non-globstar situation\n if (this.follow)\n return this._readdir(abs, false, cb)\n\n var lstatkey = 'lstat\\0' + abs\n var self = this\n var lstatcb = inflight(lstatkey, lstatcb_)\n\n if (lstatcb)\n self.fs.lstat(abs, lstatcb)\n\n function lstatcb_ (er, lstat) {\n if (er && er.code === 'ENOENT')\n return cb()\n\n var isSym = lstat && lstat.isSymbolicLink()\n self.symlinks[abs] = isSym\n\n // If it's not a symlink or a dir, then it's definitely a regular file.\n // don't bother doing a readdir in that case.\n if (!isSym && lstat && !lstat.isDirectory()) {\n self.cache[abs] = 'FILE'\n cb()\n } else\n self._readdir(abs, false, cb)\n }\n}\n\nGlob.prototype._readdir = function (abs, inGlobStar, cb) {\n if (this.aborted)\n return\n\n cb = inflight('readdir\\0'+abs+'\\0'+inGlobStar, cb)\n if (!cb)\n return\n\n //console.error('RD %j %j', +inGlobStar, abs)\n if (inGlobStar && !ownProp(this.symlinks, abs))\n return this._readdirInGlobStar(abs, cb)\n\n if (ownProp(this.cache, abs)) {\n var c = this.cache[abs]\n if (!c || c === 'FILE')\n return cb()\n\n if (Array.isArray(c))\n return cb(null, c)\n }\n\n var self = this\n self.fs.readdir(abs, readdirCb(this, abs, cb))\n}\n\nfunction readdirCb (self, abs, cb) {\n return function (er, entries) {\n if (er)\n self._readdirError(abs, er, cb)\n else\n self._readdirEntries(abs, entries, cb)\n }\n}\n\nGlob.prototype._readdirEntries = function (abs, entries, cb) {\n if (this.aborted)\n return\n\n // if we haven't asked to stat everything, then just\n // assume that everything in there exists, so we can avoid\n // having to stat it a second time.\n if (!this.mark && !this.stat) {\n for (var i = 0; i < entries.length; i ++) {\n var e = entries[i]\n if (abs === '/')\n e = abs + e\n else\n e = abs + '/' + e\n this.cache[e] = true\n }\n }\n\n this.cache[abs] = entries\n return cb(null, entries)\n}\n\nGlob.prototype._readdirError = function (f, er, cb) {\n if (this.aborted)\n return\n\n // handle errors, and cache the information\n switch (er.code) {\n case 'ENOTSUP': // https://github.com/isaacs/node-glob/issues/205\n case 'ENOTDIR': // totally normal. means it *does* exist.\n var abs = this._makeAbs(f)\n this.cache[abs] = 'FILE'\n if (abs === this.cwdAbs) {\n var error = new Error(er.code + ' invalid cwd ' + this.cwd)\n error.path = this.cwd\n error.code = er.code\n this.emit('error', error)\n this.abort()\n }\n break\n\n case 'ENOENT': // not terribly unusual\n case 'ELOOP':\n case 'ENAMETOOLONG':\n case 'UNKNOWN':\n this.cache[this._makeAbs(f)] = false\n break\n\n default: // some unusual error. Treat as failure.\n this.cache[this._makeAbs(f)] = false\n if (this.strict) {\n this.emit('error', er)\n // If the error is handled, then we abort\n // if not, we threw out of here\n this.abort()\n }\n if (!this.silent)\n console.error('glob error', er)\n break\n }\n\n return cb()\n}\n\nGlob.prototype._processGlobStar = function (prefix, read, abs, remain, index, inGlobStar, cb) {\n var self = this\n this._readdir(abs, inGlobStar, function (er, entries) {\n self._processGlobStar2(prefix, read, abs, remain, index, inGlobStar, entries, cb)\n })\n}\n\n\nGlob.prototype._processGlobStar2 = function (prefix, read, abs, remain, index, inGlobStar, entries, cb) {\n //console.error('pgs2', prefix, remain[0], entries)\n\n // no entries means not a dir, so it can never have matches\n // foo.txt/** doesn't match foo.txt\n if (!entries)\n return cb()\n\n // test without the globstar, and with every child both below\n // and replacing the globstar.\n var remainWithoutGlobStar = remain.slice(1)\n var gspref = prefix ? [ prefix ] : []\n var noGlobStar = gspref.concat(remainWithoutGlobStar)\n\n // the noGlobStar pattern exits the inGlobStar state\n this._process(noGlobStar, index, false, cb)\n\n var isSym = this.symlinks[abs]\n var len = entries.length\n\n // If it's a symlink, and we're in a globstar, then stop\n if (isSym && inGlobStar)\n return cb()\n\n for (var i = 0; i < len; i++) {\n var e = entries[i]\n if (e.charAt(0) === '.' && !this.dot)\n continue\n\n // these two cases enter the inGlobStar state\n var instead = gspref.concat(entries[i], remainWithoutGlobStar)\n this._process(instead, index, true, cb)\n\n var below = gspref.concat(entries[i], remain)\n this._process(below, index, true, cb)\n }\n\n cb()\n}\n\nGlob.prototype._processSimple = function (prefix, index, cb) {\n // XXX review this. Shouldn't it be doing the mounting etc\n // before doing stat? kinda weird?\n var self = this\n this._stat(prefix, function (er, exists) {\n self._processSimple2(prefix, index, er, exists, cb)\n })\n}\nGlob.prototype._processSimple2 = function (prefix, index, er, exists, cb) {\n\n //console.error('ps2', prefix, exists)\n\n if (!this.matches[index])\n this.matches[index] = Object.create(null)\n\n // If it doesn't exist, then just mark the lack of results\n if (!exists)\n return cb()\n\n if (prefix && isAbsolute(prefix) && !this.nomount) {\n var trail = /[\\/\\\\]$/.test(prefix)\n if (prefix.charAt(0) === '/') {\n prefix = path.join(this.root, prefix)\n } else {\n prefix = path.resolve(this.root, prefix)\n if (trail)\n prefix += '/'\n }\n }\n\n if (process.platform === 'win32')\n prefix = prefix.replace(/\\\\/g, '/')\n\n // Mark this as a match\n this._emitMatch(index, prefix)\n cb()\n}\n\n// Returns either 'DIR', 'FILE', or false\nGlob.prototype._stat = function (f, cb) {\n var abs = this._makeAbs(f)\n var needDir = f.slice(-1) === '/'\n\n if (f.length > this.maxLength)\n return cb()\n\n if (!this.stat && ownProp(this.cache, abs)) {\n var c = this.cache[abs]\n\n if (Array.isArray(c))\n c = 'DIR'\n\n // It exists, but maybe not how we need it\n if (!needDir || c === 'DIR')\n return cb(null, c)\n\n if (needDir && c === 'FILE')\n return cb()\n\n // otherwise we have to stat, because maybe c=true\n // if we know it exists, but not what it is.\n }\n\n var exists\n var stat = this.statCache[abs]\n if (stat !== undefined) {\n if (stat === false)\n return cb(null, stat)\n else {\n var type = stat.isDirectory() ? 'DIR' : 'FILE'\n if (needDir && type === 'FILE')\n return cb()\n else\n return cb(null, type, stat)\n }\n }\n\n var self = this\n var statcb = inflight('stat\\0' + abs, lstatcb_)\n if (statcb)\n self.fs.lstat(abs, statcb)\n\n function lstatcb_ (er, lstat) {\n if (lstat && lstat.isSymbolicLink()) {\n // If it's a symlink, then treat it as the target, unless\n // the target does not exist, then treat it as a file.\n return self.fs.stat(abs, function (er, stat) {\n if (er)\n self._stat2(f, abs, null, lstat, cb)\n else\n self._stat2(f, abs, er, stat, cb)\n })\n } else {\n self._stat2(f, abs, er, lstat, cb)\n }\n }\n}\n\nGlob.prototype._stat2 = function (f, abs, er, stat, cb) {\n if (er && (er.code === 'ENOENT' || er.code === 'ENOTDIR')) {\n this.statCache[abs] = false\n return cb()\n }\n\n var needDir = f.slice(-1) === '/'\n this.statCache[abs] = stat\n\n if (abs.slice(-1) === '/' && stat && !stat.isDirectory())\n return cb(null, false, stat)\n\n var c = true\n if (stat)\n c = stat.isDirectory() ? 'DIR' : 'FILE'\n this.cache[abs] = this.cache[abs] || c\n\n if (needDir && c === 'FILE')\n return cb()\n\n return cb(null, c, stat)\n}\n","'use strict'\r\n\r\nvar glob = require('glob')\r\nvar path = require('path')\r\n\r\nfunction trueCasePathSync(fsPath) {\r\n\r\n // Normalize the path so as to resolve . and .. components.\r\n // !! As of Node v4.1.1, a path starting with ../ is NOT resolved relative\r\n // !! to the current dir, and glob.sync() below then fails.\r\n // !! When in doubt, resolve with fs.realPathSync() *beforehand*.\r\n var fsPathNormalized = path.normalize(fsPath)\r\n\r\n // OSX: HFS+ stores filenames in NFD (decomposed normal form) Unicode format,\r\n // so we must ensure that the input path is in that format first.\r\n if (process.platform === 'darwin') fsPathNormalized = fsPathNormalized.normalize('NFD')\r\n\r\n // !! Windows: Curiously, the drive component mustn't be part of a glob,\r\n // !! otherwise glob.sync() will invariably match nothing.\r\n // !! Thus, we remove the drive component and instead pass it in as the 'cwd'\r\n // !! (working dir.) property below.\r\n var pathRoot = path.parse(fsPathNormalized).root\r\n var noDrivePath = fsPathNormalized.slice(Math.max(pathRoot.length - 1, 0))\r\n\r\n // Perform case-insensitive globbing (on Windows, relative to the drive /\r\n // network share) and return the 1st match, if any.\r\n // Fortunately, glob() with nocase case-corrects the input even if it is\r\n // a *literal* path.\r\n return glob.sync(noDrivePath, { nocase: true, cwd: pathRoot })[0]\r\n}\r\n\r\nmodule.exports = trueCasePathSync\r\n","// @ts-check\n\nconst findUp = require('find-up');\nconst fs = require('fs');\nconst ignore = require('ignore');\nconst isDirectory = require('is-directory');\nconst path = require('path');\nconst trueCasePath = require('true-case-path');\n\nfunction ownerMatcher(pathString) {\n const matcher = ignore().add(pathString);\n return matcher.ignores.bind(matcher);\n}\n\nfunction Codeowners(currentPath, fileName = 'CODEOWNERS') {\n const pathOrCwd = currentPath || process.cwd();\n\n const codeownersPath = findUp.sync(\n [`.github/${fileName}`, `.gitlab/${fileName}`, `docs/${fileName}`, `${fileName}`],\n { cwd: pathOrCwd }\n );\n\n if (!codeownersPath) {\n throw new Error(`Could not find a CODEOWNERS file`);\n }\n\n this.codeownersFilePath = trueCasePath(codeownersPath);\n\n this.codeownersDirectory = path.dirname(this.codeownersFilePath);\n\n // We might have found a bare codeowners file or one inside the three supported subdirectories.\n // In the latter case the project root is up another level.\n if (this.codeownersDirectory.match(/\\/(.github|.gitlab|docs)$/i)) {\n this.codeownersDirectory = path.dirname(this.codeownersDirectory);\n }\n\n const codeownersFile = path.basename(this.codeownersFilePath);\n\n if (codeownersFile !== fileName) {\n throw new Error(`Found a ${fileName} file but it was lower-cased: ${this.codeownersFilePath}`);\n }\n\n if (isDirectory.sync(this.codeownersFilePath)) {\n throw new Error(`Found a ${fileName} but it's a directory: ${this.codeownersFilePath}`);\n }\n\n const lines = fs\n .readFileSync(this.codeownersFilePath)\n .toString()\n .split(/\\r\\n|\\r|\\n/);\n const ownerEntries = [];\n\n for (const line of lines) {\n if (!line) {\n continue;\n }\n\n if (line.startsWith('#')) {\n continue;\n }\n\n const [pathString, ...usernames] = line.split(/\\s+/);\n\n ownerEntries.push({\n path: pathString,\n usernames,\n match: ownerMatcher(pathString),\n });\n }\n\n // reverse the owner entries to search from bottom to top\n // the last matching pattern takes the most precedence\n this.ownerEntries = ownerEntries.reverse();\n}\n\nconst EMPTY_ARRAY = [];\n\nCodeowners.prototype.getOwner = function getOwner(filePath) {\n for (const entry of this.ownerEntries) {\n if (entry.match(filePath)) {\n return entry.usernames;\n }\n }\n\n return EMPTY_ARRAY;\n};\n\nmodule.exports = Codeowners;\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","/// \n\nconst SymbolPolyfill: (description?: string) => symbol =\n typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ?\n Symbol :\n description => `Symbol(${description})` as any as symbol;\n\nexport default SymbolPolyfill;\n","/// \n\nexport function noop(): undefined {\n return undefined;\n}\n\nfunction getGlobals() {\n if (typeof self !== 'undefined') {\n return self;\n } else if (typeof window !== 'undefined') {\n return window;\n } else if (typeof global !== 'undefined') {\n return global;\n }\n return undefined;\n}\n\nexport const globals = getGlobals();\n","import { noop } from '../../utils';\nimport { AssertionError } from '../../stub/assert';\n\nexport function typeIsObject(x: any): x is object {\n return (typeof x === 'object' && x !== null) || typeof x === 'function';\n}\n\nexport const rethrowAssertionErrorRejection: (e: any) => void =\n DEBUG ? e => {\n // Used throughout the reference implementation, as `.catch(rethrowAssertionErrorRejection)`, to ensure any errors\n // get shown. There are places in the spec where we do promise transformations and purposefully ignore or don't\n // expect any errors, but assertion errors are always problematic.\n if (e && e instanceof AssertionError) {\n setTimeout(() => {\n throw e;\n }, 0);\n }\n } : noop;\n","import { globals } from '../../utils';\nimport { rethrowAssertionErrorRejection } from './miscellaneous';\nimport assert from '../../stub/assert';\n\nconst originalPromise = Promise;\nconst originalPromiseThen = Promise.prototype.then;\nconst originalPromiseResolve = Promise.resolve.bind(originalPromise);\nconst originalPromiseReject = Promise.reject.bind(originalPromise);\n\nexport function newPromise(executor: (\n resolve: (value: T | PromiseLike) => void,\n reject: (reason?: any) => void\n) => void): Promise {\n return new originalPromise(executor);\n}\n\nexport function promiseResolvedWith(value: T | PromiseLike): Promise {\n return originalPromiseResolve(value);\n}\n\nexport function promiseRejectedWith(reason: any): Promise {\n return originalPromiseReject(reason);\n}\n\nexport function PerformPromiseThen(\n promise: Promise,\n onFulfilled?: (value: T) => TResult1 | PromiseLike,\n onRejected?: (reason: any) => TResult2 | PromiseLike): Promise {\n // There doesn't appear to be any way to correctly emulate the behaviour from JavaScript, so this is just an\n // approximation.\n return originalPromiseThen.call(promise, onFulfilled, onRejected) as Promise;\n}\n\nexport function uponPromise(\n promise: Promise,\n onFulfilled?: (value: T) => void | PromiseLike,\n onRejected?: (reason: any) => void | PromiseLike): void {\n PerformPromiseThen(\n PerformPromiseThen(promise, onFulfilled, onRejected),\n undefined,\n rethrowAssertionErrorRejection\n );\n}\n\nexport function uponFulfillment(promise: Promise, onFulfilled: (value: T) => void | PromiseLike): void {\n uponPromise(promise, onFulfilled);\n}\n\nexport function uponRejection(promise: Promise, onRejected: (reason: any) => void | PromiseLike): void {\n uponPromise(promise, undefined, onRejected);\n}\n\nexport function transformPromiseWith(\n promise: Promise,\n fulfillmentHandler?: (value: T) => TResult1 | PromiseLike,\n rejectionHandler?: (reason: any) => TResult2 | PromiseLike): Promise {\n return PerformPromiseThen(promise, fulfillmentHandler, rejectionHandler);\n}\n\nexport function setPromiseIsHandledToTrue(promise: Promise): void {\n PerformPromiseThen(promise, undefined, rethrowAssertionErrorRejection);\n}\n\nexport const queueMicrotask: (fn: () => void) => void = (() => {\n const globalQueueMicrotask = globals && globals.queueMicrotask;\n if (typeof globalQueueMicrotask === 'function') {\n return globalQueueMicrotask;\n }\n\n const resolvedPromise = promiseResolvedWith(undefined);\n return (fn: () => void) => PerformPromiseThen(resolvedPromise, fn);\n})();\n\nexport function reflectCall(F: (this: T, ...fnArgs: A) => R, V: T, args: A): R {\n if (typeof F !== 'function') {\n throw new TypeError('Argument is not a function');\n }\n return Function.prototype.apply.call(F, V, args);\n}\n\nexport function promiseCall(F: (this: T, ...fnArgs: A) => R | PromiseLike,\n V: T,\n args: A): Promise {\n assert(typeof F === 'function');\n assert(V !== undefined);\n assert(Array.isArray(args));\n try {\n return promiseResolvedWith(reflectCall(F, V, args));\n } catch (value) {\n return promiseRejectedWith(value);\n }\n}\n","import assert from '../stub/assert';\n\n// Original from Chromium\n// https://chromium.googlesource.com/chromium/src/+/0aee4434a4dba42a42abaea9bfbc0cd196a63bc1/third_party/blink/renderer/core/streams/SimpleQueue.js\n\nconst QUEUE_MAX_ARRAY_SIZE = 16384;\n\ninterface Node {\n _elements: T[];\n _next: Node | undefined;\n}\n\n/**\n * Simple queue structure.\n *\n * Avoids scalability issues with using a packed array directly by using\n * multiple arrays in a linked list and keeping the array size bounded.\n */\nexport class SimpleQueue {\n private _front: Node;\n private _back: Node;\n private _cursor = 0;\n private _size = 0;\n\n constructor() {\n // _front and _back are always defined.\n this._front = {\n _elements: [],\n _next: undefined\n };\n this._back = this._front;\n // The cursor is used to avoid calling Array.shift().\n // It contains the index of the front element of the array inside the\n // front-most node. It is always in the range [0, QUEUE_MAX_ARRAY_SIZE).\n this._cursor = 0;\n // When there is only one node, size === elements.length - cursor.\n this._size = 0;\n }\n\n get length(): number {\n return this._size;\n }\n\n // For exception safety, this method is structured in order:\n // 1. Read state\n // 2. Calculate required state mutations\n // 3. Perform state mutations\n push(element: T): void {\n const oldBack = this._back;\n let newBack = oldBack;\n assert(oldBack._next === undefined);\n if (oldBack._elements.length === QUEUE_MAX_ARRAY_SIZE - 1) {\n newBack = {\n _elements: [],\n _next: undefined\n };\n }\n\n // push() is the mutation most likely to throw an exception, so it\n // goes first.\n oldBack._elements.push(element);\n if (newBack !== oldBack) {\n this._back = newBack;\n oldBack._next = newBack;\n }\n ++this._size;\n }\n\n // Like push(), shift() follows the read -> calculate -> mutate pattern for\n // exception safety.\n shift(): T {\n assert(this._size > 0); // must not be called on an empty queue\n\n const oldFront = this._front;\n let newFront = oldFront;\n const oldCursor = this._cursor;\n let newCursor = oldCursor + 1;\n\n const elements = oldFront._elements;\n const element = elements[oldCursor];\n\n if (newCursor === QUEUE_MAX_ARRAY_SIZE) {\n assert(elements.length === QUEUE_MAX_ARRAY_SIZE);\n assert(oldFront._next !== undefined);\n newFront = oldFront._next!;\n newCursor = 0;\n }\n\n // No mutations before this point.\n --this._size;\n this._cursor = newCursor;\n if (oldFront !== newFront) {\n this._front = newFront;\n }\n\n // Permit shifted element to be garbage collected.\n elements[oldCursor] = undefined!;\n\n return element;\n }\n\n // The tricky thing about forEach() is that it can be called\n // re-entrantly. The queue may be mutated inside the callback. It is easy to\n // see that push() within the callback has no negative effects since the end\n // of the queue is checked for on every iteration. If shift() is called\n // repeatedly within the callback then the next iteration may return an\n // element that has been removed. In this case the callback will be called\n // with undefined values until we either \"catch up\" with elements that still\n // exist or reach the back of the queue.\n forEach(callback: (element: T) => void): void {\n let i = this._cursor;\n let node = this._front;\n let elements = node._elements;\n while (i !== elements.length || node._next !== undefined) {\n if (i === elements.length) {\n assert(node._next !== undefined);\n assert(i === QUEUE_MAX_ARRAY_SIZE);\n node = node._next!;\n elements = node._elements;\n i = 0;\n if (elements.length === 0) {\n break;\n }\n }\n callback(elements[i]);\n ++i;\n }\n }\n\n // Return the element that would be returned if shift() was called now,\n // without modifying the queue.\n peek(): T {\n assert(this._size > 0); // must not be called on an empty queue\n\n const front = this._front;\n const cursor = this._cursor;\n return front._elements[cursor];\n }\n}\n","import assert from '../../stub/assert';\nimport { ReadableStream, ReadableStreamCancel, ReadableStreamReader } from '../readable-stream';\nimport { newPromise, setPromiseIsHandledToTrue } from '../helpers/webidl';\n\nexport function ReadableStreamReaderGenericInitialize(reader: ReadableStreamReader, stream: ReadableStream) {\n reader._ownerReadableStream = stream;\n stream._reader = reader;\n\n if (stream._state === 'readable') {\n defaultReaderClosedPromiseInitialize(reader);\n } else if (stream._state === 'closed') {\n defaultReaderClosedPromiseInitializeAsResolved(reader);\n } else {\n assert(stream._state === 'errored');\n\n defaultReaderClosedPromiseInitializeAsRejected(reader, stream._storedError);\n }\n}\n\n// A client of ReadableStreamDefaultReader and ReadableStreamBYOBReader may use these functions directly to bypass state\n// check.\n\nexport function ReadableStreamReaderGenericCancel(reader: ReadableStreamReader, reason: any): Promise {\n const stream = reader._ownerReadableStream;\n assert(stream !== undefined);\n return ReadableStreamCancel(stream, reason);\n}\n\nexport function ReadableStreamReaderGenericRelease(reader: ReadableStreamReader) {\n assert(reader._ownerReadableStream !== undefined);\n assert(reader._ownerReadableStream._reader === reader);\n\n if (reader._ownerReadableStream._state === 'readable') {\n defaultReaderClosedPromiseReject(\n reader,\n new TypeError(`Reader was released and can no longer be used to monitor the stream's closedness`));\n } else {\n defaultReaderClosedPromiseResetToRejected(\n reader,\n new TypeError(`Reader was released and can no longer be used to monitor the stream's closedness`));\n }\n\n reader._ownerReadableStream._reader = undefined;\n reader._ownerReadableStream = undefined!;\n}\n\n// Helper functions for the readers.\n\nexport function readerLockException(name: string): TypeError {\n return new TypeError('Cannot ' + name + ' a stream using a released reader');\n}\n\n// Helper functions for the ReadableStreamDefaultReader.\n\nexport function defaultReaderClosedPromiseInitialize(reader: ReadableStreamReader) {\n reader._closedPromise = newPromise((resolve, reject) => {\n reader._closedPromise_resolve = resolve;\n reader._closedPromise_reject = reject;\n });\n}\n\nexport function defaultReaderClosedPromiseInitializeAsRejected(reader: ReadableStreamReader, reason: any) {\n defaultReaderClosedPromiseInitialize(reader);\n defaultReaderClosedPromiseReject(reader, reason);\n}\n\nexport function defaultReaderClosedPromiseInitializeAsResolved(reader: ReadableStreamReader) {\n defaultReaderClosedPromiseInitialize(reader);\n defaultReaderClosedPromiseResolve(reader);\n}\n\nexport function defaultReaderClosedPromiseReject(reader: ReadableStreamReader, reason: any) {\n if (reader._closedPromise_reject === undefined) {\n return;\n }\n\n setPromiseIsHandledToTrue(reader._closedPromise);\n reader._closedPromise_reject(reason);\n reader._closedPromise_resolve = undefined;\n reader._closedPromise_reject = undefined;\n}\n\nexport function defaultReaderClosedPromiseResetToRejected(reader: ReadableStreamReader, reason: any) {\n assert(reader._closedPromise_resolve === undefined);\n assert(reader._closedPromise_reject === undefined);\n\n defaultReaderClosedPromiseInitializeAsRejected(reader, reason);\n}\n\nexport function defaultReaderClosedPromiseResolve(reader: ReadableStreamReader) {\n if (reader._closedPromise_resolve === undefined) {\n return;\n }\n\n reader._closedPromise_resolve(undefined);\n reader._closedPromise_resolve = undefined;\n reader._closedPromise_reject = undefined;\n}\n","export const AbortSteps = Symbol('[[AbortSteps]]');\nexport const ErrorSteps = Symbol('[[ErrorSteps]]');\nexport const CancelSteps = Symbol('[[CancelSteps]]');\nexport const PullSteps = Symbol('[[PullSteps]]');\n","/// \n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isFinite#Polyfill\nconst NumberIsFinite: typeof Number.isFinite = Number.isFinite || function (x) {\n return typeof x === 'number' && isFinite(x);\n};\n\nexport default NumberIsFinite;\n","/// \n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/trunc#Polyfill\nconst MathTrunc: typeof Math.trunc = Math.trunc || function (v) {\n return v < 0 ? Math.ceil(v) : Math.floor(v);\n};\n\nexport default MathTrunc;\n","import NumberIsFinite from '../../stub/number-isfinite';\nimport MathTrunc from '../../stub/math-trunc';\n\n// https://heycam.github.io/webidl/#idl-dictionaries\nexport function isDictionary(x: any): x is object | null {\n return typeof x === 'object' || typeof x === 'function';\n}\n\nexport function assertDictionary(obj: unknown,\n context: string): asserts obj is object | null | undefined {\n if (obj !== undefined && !isDictionary(obj)) {\n throw new TypeError(`${context} is not an object.`);\n }\n}\n\nexport type AnyFunction = (...args: any[]) => any;\n\n// https://heycam.github.io/webidl/#idl-callback-functions\nexport function assertFunction(x: unknown, context: string): asserts x is AnyFunction {\n if (typeof x !== 'function') {\n throw new TypeError(`${context} is not a function.`);\n }\n}\n\n// https://heycam.github.io/webidl/#idl-object\nexport function isObject(x: any): x is object {\n return (typeof x === 'object' && x !== null) || typeof x === 'function';\n}\n\nexport function assertObject(x: unknown,\n context: string): asserts x is object {\n if (!isObject(x)) {\n throw new TypeError(`${context} is not an object.`);\n }\n}\n\nexport function assertRequiredArgument(x: T | undefined,\n position: number,\n context: string): asserts x is T {\n if (x === undefined) {\n throw new TypeError(`Parameter ${position} is required in '${context}'.`);\n }\n}\n\nexport function assertRequiredField(x: T | undefined,\n field: string,\n context: string): asserts x is T {\n if (x === undefined) {\n throw new TypeError(`${field} is required in '${context}'.`);\n }\n}\n\n// https://heycam.github.io/webidl/#idl-unrestricted-double\nexport function convertUnrestrictedDouble(value: unknown): number {\n return Number(value);\n}\n\nfunction censorNegativeZero(x: number): number {\n return x === 0 ? 0 : x;\n}\n\nfunction integerPart(x: number): number {\n return censorNegativeZero(MathTrunc(x));\n}\n\n// https://heycam.github.io/webidl/#idl-unsigned-long-long\nexport function convertUnsignedLongLongWithEnforceRange(value: unknown, context: string): number {\n const lowerBound = 0;\n const upperBound = Number.MAX_SAFE_INTEGER;\n\n let x = Number(value);\n x = censorNegativeZero(x);\n\n if (!NumberIsFinite(x)) {\n throw new TypeError(`${context} is not a finite number`);\n }\n\n x = integerPart(x);\n\n if (x < lowerBound || x > upperBound) {\n throw new TypeError(`${context} is outside the accepted range of ${lowerBound} to ${upperBound}, inclusive`);\n }\n\n if (!NumberIsFinite(x) || x === 0) {\n return 0;\n }\n\n // TODO Use BigInt if supported?\n // let xBigInt = BigInt(integerPart(x));\n // xBigInt = BigInt.asUintN(64, xBigInt);\n // return Number(xBigInt);\n\n return x;\n}\n","import { IsReadableStream, ReadableStream } from '../readable-stream';\n\nexport function assertReadableStream(x: unknown, context: string): asserts x is ReadableStream {\n if (!IsReadableStream(x)) {\n throw new TypeError(`${context} is not a ReadableStream.`);\n }\n}\n","import assert from '../../stub/assert';\nimport { SimpleQueue } from '../simple-queue';\nimport {\n ReadableStreamReaderGenericCancel,\n ReadableStreamReaderGenericInitialize,\n ReadableStreamReaderGenericRelease,\n readerLockException\n} from './generic-reader';\nimport { IsReadableStreamLocked, ReadableStream } from '../readable-stream';\nimport { typeIsObject } from '../helpers/miscellaneous';\nimport { PullSteps } from '../abstract-ops/internal-methods';\nimport { newPromise, promiseRejectedWith } from '../helpers/webidl';\nimport { assertRequiredArgument } from '../validators/basic';\nimport { assertReadableStream } from '../validators/readable-stream';\n\n/**\n * A result returned by {@link ReadableStreamDefaultReader.read}.\n *\n * @public\n */\nexport type ReadableStreamDefaultReadResult = {\n done: false;\n value: T;\n} | {\n done: true;\n value?: undefined;\n}\n\n// Abstract operations for the ReadableStream.\n\nexport function AcquireReadableStreamDefaultReader(stream: ReadableStream): ReadableStreamDefaultReader {\n return new ReadableStreamDefaultReader(stream);\n}\n\n// ReadableStream API exposed for controllers.\n\nexport function ReadableStreamAddReadRequest(stream: ReadableStream,\n readRequest: ReadRequest): void {\n assert(IsReadableStreamDefaultReader(stream._reader));\n assert(stream._state === 'readable');\n\n (stream._reader! as ReadableStreamDefaultReader)._readRequests.push(readRequest);\n}\n\nexport function ReadableStreamFulfillReadRequest(stream: ReadableStream, chunk: R | undefined, done: boolean) {\n const reader = stream._reader as ReadableStreamDefaultReader;\n\n assert(reader._readRequests.length > 0);\n\n const readRequest = reader._readRequests.shift()!;\n if (done) {\n readRequest._closeSteps();\n } else {\n readRequest._chunkSteps(chunk!);\n }\n}\n\nexport function ReadableStreamGetNumReadRequests(stream: ReadableStream): number {\n return (stream._reader as ReadableStreamDefaultReader)._readRequests.length;\n}\n\nexport function ReadableStreamHasDefaultReader(stream: ReadableStream): boolean {\n const reader = stream._reader;\n\n if (reader === undefined) {\n return false;\n }\n\n if (!IsReadableStreamDefaultReader(reader)) {\n return false;\n }\n\n return true;\n}\n\n// Readers\n\nexport interface ReadRequest {\n _chunkSteps(chunk: R): void;\n\n _closeSteps(): void;\n\n _errorSteps(e: any): void;\n}\n\n/**\n * A default reader vended by a {@link ReadableStream}.\n *\n * @public\n */\nexport class ReadableStreamDefaultReader {\n /** @internal */\n _ownerReadableStream!: ReadableStream;\n /** @internal */\n _closedPromise!: Promise;\n /** @internal */\n _closedPromise_resolve?: (value?: undefined) => void;\n /** @internal */\n _closedPromise_reject?: (reason: any) => void;\n /** @internal */\n _readRequests: SimpleQueue>;\n\n constructor(stream: ReadableStream) {\n assertRequiredArgument(stream, 1, 'ReadableStreamDefaultReader');\n assertReadableStream(stream, 'First parameter');\n\n if (IsReadableStreamLocked(stream)) {\n throw new TypeError('This stream has already been locked for exclusive reading by another reader');\n }\n\n ReadableStreamReaderGenericInitialize(this, stream);\n\n this._readRequests = new SimpleQueue();\n }\n\n /**\n * Returns a promise that will be fulfilled when the stream becomes closed,\n * or rejected if the stream ever errors or the reader's lock is released before the stream finishes closing.\n */\n get closed(): Promise {\n if (!IsReadableStreamDefaultReader(this)) {\n return promiseRejectedWith(defaultReaderBrandCheckException('closed'));\n }\n\n return this._closedPromise;\n }\n\n /**\n * If the reader is active, behaves the same as {@link ReadableStream.cancel | stream.cancel(reason)}.\n */\n cancel(reason: any = undefined): Promise {\n if (!IsReadableStreamDefaultReader(this)) {\n return promiseRejectedWith(defaultReaderBrandCheckException('cancel'));\n }\n\n if (this._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('cancel'));\n }\n\n return ReadableStreamReaderGenericCancel(this, reason);\n }\n\n /**\n * Returns a promise that allows access to the next chunk from the stream's internal queue, if available.\n *\n * If reading a chunk causes the queue to become empty, more data will be pulled from the underlying source.\n */\n read(): Promise> {\n if (!IsReadableStreamDefaultReader(this)) {\n return promiseRejectedWith(defaultReaderBrandCheckException('read'));\n }\n\n if (this._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('read from'));\n }\n\n let resolvePromise!: (result: ReadableStreamDefaultReadResult) => void;\n let rejectPromise!: (reason: any) => void;\n const promise = newPromise>((resolve, reject) => {\n resolvePromise = resolve;\n rejectPromise = reject;\n });\n const readRequest: ReadRequest = {\n _chunkSteps: chunk => resolvePromise({ value: chunk, done: false }),\n _closeSteps: () => resolvePromise({ value: undefined, done: true }),\n _errorSteps: e => rejectPromise(e)\n };\n ReadableStreamDefaultReaderRead(this, readRequest);\n return promise;\n }\n\n /**\n * Releases the reader's lock on the corresponding stream. After the lock is released, the reader is no longer active.\n * If the associated stream is errored when the lock is released, the reader will appear errored in the same way\n * from now on; otherwise, the reader will appear closed.\n *\n * A reader's lock cannot be released while it still has a pending read request, i.e., if a promise returned by\n * the reader's {@link ReadableStreamDefaultReader.read | read()} method has not yet been settled. Attempting to\n * do so will throw a `TypeError` and leave the reader locked to the stream.\n */\n releaseLock(): void {\n if (!IsReadableStreamDefaultReader(this)) {\n throw defaultReaderBrandCheckException('releaseLock');\n }\n\n if (this._ownerReadableStream === undefined) {\n return;\n }\n\n if (this._readRequests.length > 0) {\n throw new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled');\n }\n\n ReadableStreamReaderGenericRelease(this);\n }\n}\n\nObject.defineProperties(ReadableStreamDefaultReader.prototype, {\n cancel: { enumerable: true },\n read: { enumerable: true },\n releaseLock: { enumerable: true },\n closed: { enumerable: true }\n});\nif (typeof Symbol.toStringTag === 'symbol') {\n Object.defineProperty(ReadableStreamDefaultReader.prototype, Symbol.toStringTag, {\n value: 'ReadableStreamDefaultReader',\n configurable: true\n });\n}\n\n// Abstract operations for the readers.\n\nexport function IsReadableStreamDefaultReader(x: any): x is ReadableStreamDefaultReader {\n if (!typeIsObject(x)) {\n return false;\n }\n\n if (!Object.prototype.hasOwnProperty.call(x, '_readRequests')) {\n return false;\n }\n\n return x instanceof ReadableStreamDefaultReader;\n}\n\nexport function ReadableStreamDefaultReaderRead(reader: ReadableStreamDefaultReader,\n readRequest: ReadRequest): void {\n const stream = reader._ownerReadableStream;\n\n assert(stream !== undefined);\n\n stream._disturbed = true;\n\n if (stream._state === 'closed') {\n readRequest._closeSteps();\n } else if (stream._state === 'errored') {\n readRequest._errorSteps(stream._storedError);\n } else {\n assert(stream._state === 'readable');\n stream._readableStreamController[PullSteps](readRequest as ReadRequest);\n }\n}\n\n// Helper functions for the ReadableStreamDefaultReader.\n\nfunction defaultReaderBrandCheckException(name: string): TypeError {\n return new TypeError(\n `ReadableStreamDefaultReader.prototype.${name} can only be used on a ReadableStreamDefaultReader`);\n}\n","/// \n\n/* eslint-disable @typescript-eslint/no-empty-function */\nexport const AsyncIteratorPrototype: AsyncIterable | undefined =\n Object.getPrototypeOf(Object.getPrototypeOf(async function* (): AsyncIterableIterator {}).prototype);\n","/// \n\nimport { ReadableStream } from '../readable-stream';\nimport {\n AcquireReadableStreamDefaultReader,\n ReadableStreamDefaultReader,\n ReadableStreamDefaultReaderRead,\n ReadableStreamDefaultReadResult,\n ReadRequest\n} from './default-reader';\nimport {\n ReadableStreamReaderGenericCancel,\n ReadableStreamReaderGenericRelease,\n readerLockException\n} from './generic-reader';\nimport assert from '../../stub/assert';\nimport { AsyncIteratorPrototype } from '@@target/stub/async-iterator-prototype';\nimport { typeIsObject } from '../helpers/miscellaneous';\nimport {\n newPromise,\n promiseRejectedWith,\n promiseResolvedWith,\n queueMicrotask,\n transformPromiseWith\n} from '../helpers/webidl';\n\n/**\n * An async iterator returned by {@link ReadableStream.values}.\n *\n * @public\n */\nexport interface ReadableStreamAsyncIterator extends AsyncIterator {\n next(): Promise>;\n\n return(value?: any): Promise>;\n}\n\nexport class ReadableStreamAsyncIteratorImpl {\n private readonly _reader: ReadableStreamDefaultReader;\n private readonly _preventCancel: boolean;\n private _ongoingPromise: Promise> | undefined = undefined;\n private _isFinished = false;\n\n constructor(reader: ReadableStreamDefaultReader, preventCancel: boolean) {\n this._reader = reader;\n this._preventCancel = preventCancel;\n }\n\n next(): Promise> {\n const nextSteps = () => this._nextSteps();\n this._ongoingPromise = this._ongoingPromise ?\n transformPromiseWith(this._ongoingPromise, nextSteps, nextSteps) :\n nextSteps();\n return this._ongoingPromise;\n }\n\n return(value: any): Promise> {\n const returnSteps = () => this._returnSteps(value);\n return this._ongoingPromise ?\n transformPromiseWith(this._ongoingPromise, returnSteps, returnSteps) :\n returnSteps();\n }\n\n private _nextSteps(): Promise> {\n if (this._isFinished) {\n return Promise.resolve({ value: undefined, done: true });\n }\n\n const reader = this._reader;\n if (reader._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('iterate'));\n }\n\n let resolvePromise!: (result: ReadableStreamDefaultReadResult) => void;\n let rejectPromise!: (reason: any) => void;\n const promise = newPromise>((resolve, reject) => {\n resolvePromise = resolve;\n rejectPromise = reject;\n });\n const readRequest: ReadRequest = {\n _chunkSteps: chunk => {\n this._ongoingPromise = undefined;\n // This needs to be delayed by one microtask, otherwise we stop pulling too early which breaks a test.\n // FIXME Is this a bug in the specification, or in the test?\n queueMicrotask(() => resolvePromise({ value: chunk, done: false }));\n },\n _closeSteps: () => {\n this._ongoingPromise = undefined;\n this._isFinished = true;\n ReadableStreamReaderGenericRelease(reader);\n resolvePromise({ value: undefined, done: true });\n },\n _errorSteps: reason => {\n this._ongoingPromise = undefined;\n this._isFinished = true;\n ReadableStreamReaderGenericRelease(reader);\n rejectPromise(reason);\n }\n };\n ReadableStreamDefaultReaderRead(reader, readRequest);\n return promise;\n }\n\n private _returnSteps(value: any): Promise> {\n if (this._isFinished) {\n return Promise.resolve({ value, done: true });\n }\n this._isFinished = true;\n\n const reader = this._reader;\n if (reader._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('finish iterating'));\n }\n\n assert(reader._readRequests.length === 0);\n\n if (!this._preventCancel) {\n const result = ReadableStreamReaderGenericCancel(reader, value);\n ReadableStreamReaderGenericRelease(reader);\n return transformPromiseWith(result, () => ({ value, done: true }));\n }\n\n ReadableStreamReaderGenericRelease(reader);\n return promiseResolvedWith({ value, done: true });\n }\n}\n\ndeclare class ReadableStreamAsyncIteratorInstance implements ReadableStreamAsyncIterator {\n /** @interal */\n _asyncIteratorImpl: ReadableStreamAsyncIteratorImpl;\n\n next(): Promise>;\n\n return(value?: any): Promise>;\n}\n\nconst ReadableStreamAsyncIteratorPrototype: ReadableStreamAsyncIteratorInstance = {\n next(this: ReadableStreamAsyncIteratorInstance): Promise> {\n if (!IsReadableStreamAsyncIterator(this)) {\n return promiseRejectedWith(streamAsyncIteratorBrandCheckException('next'));\n }\n return this._asyncIteratorImpl.next();\n },\n\n return(this: ReadableStreamAsyncIteratorInstance, value: any): Promise> {\n if (!IsReadableStreamAsyncIterator(this)) {\n return promiseRejectedWith(streamAsyncIteratorBrandCheckException('return'));\n }\n return this._asyncIteratorImpl.return(value);\n }\n} as any;\nif (AsyncIteratorPrototype !== undefined) {\n Object.setPrototypeOf(ReadableStreamAsyncIteratorPrototype, AsyncIteratorPrototype);\n}\n\n// Abstract operations for the ReadableStream.\n\nexport function AcquireReadableStreamAsyncIterator(stream: ReadableStream,\n preventCancel: boolean): ReadableStreamAsyncIterator {\n const reader = AcquireReadableStreamDefaultReader(stream);\n const impl = new ReadableStreamAsyncIteratorImpl(reader, preventCancel);\n const iterator: ReadableStreamAsyncIteratorInstance = Object.create(ReadableStreamAsyncIteratorPrototype);\n iterator._asyncIteratorImpl = impl;\n return iterator;\n}\n\nfunction IsReadableStreamAsyncIterator(x: any): x is ReadableStreamAsyncIterator {\n if (!typeIsObject(x)) {\n return false;\n }\n\n if (!Object.prototype.hasOwnProperty.call(x, '_asyncIteratorImpl')) {\n return false;\n }\n\n try {\n // noinspection SuspiciousTypeOfGuard\n return (x as ReadableStreamAsyncIteratorInstance)._asyncIteratorImpl instanceof\n ReadableStreamAsyncIteratorImpl;\n } catch {\n return false;\n }\n}\n\n// Helper functions for the ReadableStream.\n\nfunction streamAsyncIteratorBrandCheckException(name: string): TypeError {\n return new TypeError(`ReadableStreamAsyncIterator.${name} can only be used on a ReadableSteamAsyncIterator`);\n}\n","/// \n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isNaN#Polyfill\nconst NumberIsNaN: typeof Number.isNaN = Number.isNaN || function (x) {\n // eslint-disable-next-line no-self-compare\n return x !== x;\n};\n\nexport default NumberIsNaN;\n","export function CreateArrayFromList(elements: T): T {\n // We use arrays to represent lists, so this is basically a no-op.\n // Do a slice though just in case we happen to depend on the unique-ness.\n return elements.slice() as T;\n}\n\nexport function CopyDataBlockBytes(dest: ArrayBuffer,\n destOffset: number,\n src: ArrayBuffer,\n srcOffset: number,\n n: number) {\n new Uint8Array(dest).set(new Uint8Array(src, srcOffset, n), destOffset);\n}\n\n// Not implemented correctly\nexport function TransferArrayBuffer(O: T): T {\n return O;\n}\n\n// Not implemented correctly\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport function CanTransferArrayBuffer(O: ArrayBufferLike): boolean {\n return true;\n}\n\n// Not implemented correctly\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport function IsDetachedBuffer(O: ArrayBufferLike): boolean {\n return false;\n}\n\nexport function ArrayBufferSlice(buffer: ArrayBufferLike, begin: number, end: number): ArrayBufferLike {\n // ArrayBuffer.prototype.slice is not available on IE10\n // https://www.caniuse.com/mdn-javascript_builtins_arraybuffer_slice\n if (buffer.slice) {\n return buffer.slice(begin, end);\n }\n const length = end - begin;\n const slice = new ArrayBuffer(length);\n CopyDataBlockBytes(slice, 0, buffer, begin, length);\n return slice;\n}\n","import NumberIsNaN from '../../stub/number-isnan';\nimport { ArrayBufferSlice } from './ecmascript';\n\nexport function IsNonNegativeNumber(v: number): boolean {\n if (typeof v !== 'number') {\n return false;\n }\n\n if (NumberIsNaN(v)) {\n return false;\n }\n\n if (v < 0) {\n return false;\n }\n\n return true;\n}\n\nexport function CloneAsUint8Array(O: ArrayBufferView): Uint8Array {\n const buffer = ArrayBufferSlice(O.buffer, O.byteOffset, O.byteOffset + O.byteLength);\n return new Uint8Array(buffer);\n}\n","import assert from '../../stub/assert';\nimport { SimpleQueue } from '../simple-queue';\nimport { IsNonNegativeNumber } from './miscellaneous';\n\nexport interface QueueContainer {\n _queue: SimpleQueue;\n _queueTotalSize: number;\n}\n\nexport interface QueuePair {\n value: T;\n size: number;\n}\n\nexport function DequeueValue(container: QueueContainer>): T {\n assert('_queue' in container && '_queueTotalSize' in container);\n assert(container._queue.length > 0);\n\n const pair = container._queue.shift()!;\n container._queueTotalSize -= pair.size;\n if (container._queueTotalSize < 0) {\n container._queueTotalSize = 0;\n }\n\n return pair.value;\n}\n\nexport function EnqueueValueWithSize(container: QueueContainer>, value: T, size: number) {\n assert('_queue' in container && '_queueTotalSize' in container);\n\n if (!IsNonNegativeNumber(size) || size === Infinity) {\n throw new RangeError('Size must be a finite, non-NaN, non-negative number.');\n }\n\n container._queue.push({ value, size });\n container._queueTotalSize += size;\n}\n\nexport function PeekQueueValue(container: QueueContainer>): T {\n assert('_queue' in container && '_queueTotalSize' in container);\n assert(container._queue.length > 0);\n\n const pair = container._queue.peek();\n return pair.value;\n}\n\nexport function ResetQueue(container: QueueContainer) {\n assert('_queue' in container && '_queueTotalSize' in container);\n\n container._queue = new SimpleQueue();\n container._queueTotalSize = 0;\n}\n","import assert from '../../stub/assert';\nimport { SimpleQueue } from '../simple-queue';\nimport { ResetQueue } from '../abstract-ops/queue-with-sizes';\nimport {\n ReadableStreamAddReadRequest,\n ReadableStreamFulfillReadRequest,\n ReadableStreamGetNumReadRequests,\n ReadableStreamHasDefaultReader,\n ReadRequest\n} from './default-reader';\nimport {\n ReadableStreamAddReadIntoRequest,\n ReadableStreamFulfillReadIntoRequest,\n ReadableStreamGetNumReadIntoRequests,\n ReadableStreamHasBYOBReader,\n ReadIntoRequest\n} from './byob-reader';\nimport NumberIsInteger from '../../stub/number-isinteger';\nimport {\n IsReadableStreamLocked,\n ReadableByteStream,\n ReadableStreamClose,\n ReadableStreamError\n} from '../readable-stream';\nimport { ValidatedUnderlyingByteSource } from './underlying-source';\nimport { typeIsObject } from '../helpers/miscellaneous';\nimport {\n ArrayBufferSlice,\n CanTransferArrayBuffer,\n CopyDataBlockBytes,\n IsDetachedBuffer,\n TransferArrayBuffer\n} from '../abstract-ops/ecmascript';\nimport { CancelSteps, PullSteps } from '../abstract-ops/internal-methods';\nimport { promiseResolvedWith, uponPromise } from '../helpers/webidl';\nimport { assertRequiredArgument, convertUnsignedLongLongWithEnforceRange } from '../validators/basic';\n\n/**\n * A pull-into request in a {@link ReadableByteStreamController}.\n *\n * @public\n */\nexport class ReadableStreamBYOBRequest {\n /** @internal */\n _associatedReadableByteStreamController!: ReadableByteStreamController;\n /** @internal */\n _view!: ArrayBufferView | null;\n\n private constructor() {\n throw new TypeError('Illegal constructor');\n }\n\n /**\n * Returns the view for writing in to, or `null` if the BYOB request has already been responded to.\n */\n get view(): ArrayBufferView | null {\n if (!IsReadableStreamBYOBRequest(this)) {\n throw byobRequestBrandCheckException('view');\n }\n\n return this._view;\n }\n\n /**\n * Indicates to the associated readable byte stream that `bytesWritten` bytes were written into\n * {@link ReadableStreamBYOBRequest.view | view}, causing the result be surfaced to the consumer.\n *\n * After this method is called, {@link ReadableStreamBYOBRequest.view | view} will be transferred and no longer\n * modifiable.\n */\n respond(bytesWritten: number): void;\n respond(bytesWritten: number | undefined): void {\n if (!IsReadableStreamBYOBRequest(this)) {\n throw byobRequestBrandCheckException('respond');\n }\n assertRequiredArgument(bytesWritten, 1, 'respond');\n bytesWritten = convertUnsignedLongLongWithEnforceRange(bytesWritten, 'First parameter');\n\n if (this._associatedReadableByteStreamController === undefined) {\n throw new TypeError('This BYOB request has been invalidated');\n }\n\n if (IsDetachedBuffer(this._view!.buffer)) {\n throw new TypeError(`The BYOB request's buffer has been detached and so cannot be used as a response`);\n }\n\n assert(this._view!.byteLength > 0);\n assert(this._view!.buffer.byteLength > 0);\n\n ReadableByteStreamControllerRespond(this._associatedReadableByteStreamController, bytesWritten);\n }\n\n /**\n * Indicates to the associated readable byte stream that instead of writing into\n * {@link ReadableStreamBYOBRequest.view | view}, the underlying byte source is providing a new `ArrayBufferView`,\n * which will be given to the consumer of the readable byte stream.\n *\n * After this method is called, `view` will be transferred and no longer modifiable.\n */\n respondWithNewView(view: ArrayBufferView): void;\n respondWithNewView(view: ArrayBufferView | undefined): void {\n if (!IsReadableStreamBYOBRequest(this)) {\n throw byobRequestBrandCheckException('respondWithNewView');\n }\n assertRequiredArgument(view, 1, 'respondWithNewView');\n\n if (!ArrayBuffer.isView(view)) {\n throw new TypeError('You can only respond with array buffer views');\n }\n\n if (this._associatedReadableByteStreamController === undefined) {\n throw new TypeError('This BYOB request has been invalidated');\n }\n\n if (IsDetachedBuffer(view.buffer)) {\n throw new TypeError('The given view\\'s buffer has been detached and so cannot be used as a response');\n }\n\n ReadableByteStreamControllerRespondWithNewView(this._associatedReadableByteStreamController, view);\n }\n}\n\nObject.defineProperties(ReadableStreamBYOBRequest.prototype, {\n respond: { enumerable: true },\n respondWithNewView: { enumerable: true },\n view: { enumerable: true }\n});\nif (typeof Symbol.toStringTag === 'symbol') {\n Object.defineProperty(ReadableStreamBYOBRequest.prototype, Symbol.toStringTag, {\n value: 'ReadableStreamBYOBRequest',\n configurable: true\n });\n}\n\ninterface ArrayBufferViewConstructor {\n new(buffer: ArrayBufferLike, byteOffset: number, length?: number): T;\n\n readonly prototype: T;\n readonly BYTES_PER_ELEMENT: number;\n}\n\ninterface ByteQueueElement {\n buffer: ArrayBufferLike;\n byteOffset: number;\n byteLength: number;\n}\n\ntype PullIntoDescriptor =\n DefaultPullIntoDescriptor\n | BYOBPullIntoDescriptor;\n\ninterface DefaultPullIntoDescriptor {\n buffer: ArrayBufferLike;\n bufferByteLength: number;\n byteOffset: number;\n byteLength: number;\n bytesFilled: number;\n elementSize: number;\n viewConstructor: ArrayBufferViewConstructor;\n readerType: 'default';\n}\n\ninterface BYOBPullIntoDescriptor {\n buffer: ArrayBufferLike;\n bufferByteLength: number;\n byteOffset: number;\n byteLength: number;\n bytesFilled: number;\n elementSize: number;\n viewConstructor: ArrayBufferViewConstructor;\n readerType: 'byob';\n}\n\n/**\n * Allows control of a {@link ReadableStream | readable byte stream}'s state and internal queue.\n *\n * @public\n */\nexport class ReadableByteStreamController {\n /** @internal */\n _controlledReadableByteStream!: ReadableByteStream;\n /** @internal */\n _queue!: SimpleQueue;\n /** @internal */\n _queueTotalSize!: number;\n /** @internal */\n _started!: boolean;\n /** @internal */\n _closeRequested!: boolean;\n /** @internal */\n _pullAgain!: boolean;\n /** @internal */\n _pulling !: boolean;\n /** @internal */\n _strategyHWM!: number;\n /** @internal */\n _pullAlgorithm!: () => Promise;\n /** @internal */\n _cancelAlgorithm!: (reason: any) => Promise;\n /** @internal */\n _autoAllocateChunkSize: number | undefined;\n /** @internal */\n _byobRequest: ReadableStreamBYOBRequest | null;\n /** @internal */\n _pendingPullIntos!: SimpleQueue;\n\n private constructor() {\n throw new TypeError('Illegal constructor');\n }\n\n /**\n * Returns the current BYOB pull request, or `null` if there isn't one.\n */\n get byobRequest(): ReadableStreamBYOBRequest | null {\n if (!IsReadableByteStreamController(this)) {\n throw byteStreamControllerBrandCheckException('byobRequest');\n }\n\n return ReadableByteStreamControllerGetBYOBRequest(this);\n }\n\n /**\n * Returns the desired size to fill the controlled stream's internal queue. It can be negative, if the queue is\n * over-full. An underlying byte source ought to use this information to determine when and how to apply backpressure.\n */\n get desiredSize(): number | null {\n if (!IsReadableByteStreamController(this)) {\n throw byteStreamControllerBrandCheckException('desiredSize');\n }\n\n return ReadableByteStreamControllerGetDesiredSize(this);\n }\n\n /**\n * Closes the controlled readable stream. Consumers will still be able to read any previously-enqueued chunks from\n * the stream, but once those are read, the stream will become closed.\n */\n close(): void {\n if (!IsReadableByteStreamController(this)) {\n throw byteStreamControllerBrandCheckException('close');\n }\n\n if (this._closeRequested) {\n throw new TypeError('The stream has already been closed; do not close it again!');\n }\n\n const state = this._controlledReadableByteStream._state;\n if (state !== 'readable') {\n throw new TypeError(`The stream (in ${state} state) is not in the readable state and cannot be closed`);\n }\n\n ReadableByteStreamControllerClose(this);\n }\n\n /**\n * Enqueues the given chunk chunk in the controlled readable stream.\n * The chunk has to be an `ArrayBufferView` instance, or else a `TypeError` will be thrown.\n */\n enqueue(chunk: ArrayBufferView): void;\n enqueue(chunk: ArrayBufferView | undefined): void {\n if (!IsReadableByteStreamController(this)) {\n throw byteStreamControllerBrandCheckException('enqueue');\n }\n\n assertRequiredArgument(chunk, 1, 'enqueue');\n if (!ArrayBuffer.isView(chunk)) {\n throw new TypeError('chunk must be an array buffer view');\n }\n if (chunk.byteLength === 0) {\n throw new TypeError('chunk must have non-zero byteLength');\n }\n if (chunk.buffer.byteLength === 0) {\n throw new TypeError(`chunk's buffer must have non-zero byteLength`);\n }\n\n if (this._closeRequested) {\n throw new TypeError('stream is closed or draining');\n }\n\n const state = this._controlledReadableByteStream._state;\n if (state !== 'readable') {\n throw new TypeError(`The stream (in ${state} state) is not in the readable state and cannot be enqueued to`);\n }\n\n ReadableByteStreamControllerEnqueue(this, chunk);\n }\n\n /**\n * Errors the controlled readable stream, making all future interactions with it fail with the given error `e`.\n */\n error(e: any = undefined): void {\n if (!IsReadableByteStreamController(this)) {\n throw byteStreamControllerBrandCheckException('error');\n }\n\n ReadableByteStreamControllerError(this, e);\n }\n\n /** @internal */\n [CancelSteps](reason: any): Promise {\n ReadableByteStreamControllerClearPendingPullIntos(this);\n\n ResetQueue(this);\n\n const result = this._cancelAlgorithm(reason);\n ReadableByteStreamControllerClearAlgorithms(this);\n return result;\n }\n\n /** @internal */\n [PullSteps](readRequest: ReadRequest): void {\n const stream = this._controlledReadableByteStream;\n assert(ReadableStreamHasDefaultReader(stream));\n\n if (this._queueTotalSize > 0) {\n assert(ReadableStreamGetNumReadRequests(stream) === 0);\n\n const entry = this._queue.shift()!;\n this._queueTotalSize -= entry.byteLength;\n\n ReadableByteStreamControllerHandleQueueDrain(this);\n\n const view = new Uint8Array(entry.buffer, entry.byteOffset, entry.byteLength);\n\n readRequest._chunkSteps(view);\n return;\n }\n\n const autoAllocateChunkSize = this._autoAllocateChunkSize;\n if (autoAllocateChunkSize !== undefined) {\n let buffer: ArrayBuffer;\n try {\n buffer = new ArrayBuffer(autoAllocateChunkSize);\n } catch (bufferE) {\n readRequest._errorSteps(bufferE);\n return;\n }\n\n const pullIntoDescriptor: DefaultPullIntoDescriptor = {\n buffer,\n bufferByteLength: autoAllocateChunkSize,\n byteOffset: 0,\n byteLength: autoAllocateChunkSize,\n bytesFilled: 0,\n elementSize: 1,\n viewConstructor: Uint8Array,\n readerType: 'default'\n };\n\n this._pendingPullIntos.push(pullIntoDescriptor);\n }\n\n ReadableStreamAddReadRequest(stream, readRequest);\n ReadableByteStreamControllerCallPullIfNeeded(this);\n }\n}\n\nObject.defineProperties(ReadableByteStreamController.prototype, {\n close: { enumerable: true },\n enqueue: { enumerable: true },\n error: { enumerable: true },\n byobRequest: { enumerable: true },\n desiredSize: { enumerable: true }\n});\nif (typeof Symbol.toStringTag === 'symbol') {\n Object.defineProperty(ReadableByteStreamController.prototype, Symbol.toStringTag, {\n value: 'ReadableByteStreamController',\n configurable: true\n });\n}\n\n// Abstract operations for the ReadableByteStreamController.\n\nexport function IsReadableByteStreamController(x: any): x is ReadableByteStreamController {\n if (!typeIsObject(x)) {\n return false;\n }\n\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledReadableByteStream')) {\n return false;\n }\n\n return x instanceof ReadableByteStreamController;\n}\n\nfunction IsReadableStreamBYOBRequest(x: any): x is ReadableStreamBYOBRequest {\n if (!typeIsObject(x)) {\n return false;\n }\n\n if (!Object.prototype.hasOwnProperty.call(x, '_associatedReadableByteStreamController')) {\n return false;\n }\n\n return x instanceof ReadableStreamBYOBRequest;\n}\n\nfunction ReadableByteStreamControllerCallPullIfNeeded(controller: ReadableByteStreamController): void {\n const shouldPull = ReadableByteStreamControllerShouldCallPull(controller);\n if (!shouldPull) {\n return;\n }\n\n if (controller._pulling) {\n controller._pullAgain = true;\n return;\n }\n\n assert(!controller._pullAgain);\n\n controller._pulling = true;\n\n // TODO: Test controller argument\n const pullPromise = controller._pullAlgorithm();\n uponPromise(\n pullPromise,\n () => {\n controller._pulling = false;\n\n if (controller._pullAgain) {\n controller._pullAgain = false;\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }\n },\n e => {\n ReadableByteStreamControllerError(controller, e);\n }\n );\n}\n\nfunction ReadableByteStreamControllerClearPendingPullIntos(controller: ReadableByteStreamController) {\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n controller._pendingPullIntos = new SimpleQueue();\n}\n\nfunction ReadableByteStreamControllerCommitPullIntoDescriptor(\n stream: ReadableByteStream,\n pullIntoDescriptor: PullIntoDescriptor\n) {\n assert(stream._state !== 'errored');\n\n let done = false;\n if (stream._state === 'closed') {\n assert(pullIntoDescriptor.bytesFilled === 0);\n done = true;\n }\n\n const filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);\n if (pullIntoDescriptor.readerType === 'default') {\n ReadableStreamFulfillReadRequest(stream, filledView as unknown as Uint8Array, done);\n } else {\n assert(pullIntoDescriptor.readerType === 'byob');\n ReadableStreamFulfillReadIntoRequest(stream, filledView, done);\n }\n}\n\nfunction ReadableByteStreamControllerConvertPullIntoDescriptor(\n pullIntoDescriptor: PullIntoDescriptor\n): T {\n const bytesFilled = pullIntoDescriptor.bytesFilled;\n const elementSize = pullIntoDescriptor.elementSize;\n\n assert(bytesFilled <= pullIntoDescriptor.byteLength);\n assert(bytesFilled % elementSize === 0);\n\n return new pullIntoDescriptor.viewConstructor(\n pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, bytesFilled / elementSize) as T;\n}\n\nfunction ReadableByteStreamControllerEnqueueChunkToQueue(controller: ReadableByteStreamController,\n buffer: ArrayBufferLike,\n byteOffset: number,\n byteLength: number) {\n controller._queue.push({ buffer, byteOffset, byteLength });\n controller._queueTotalSize += byteLength;\n}\n\nfunction ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller: ReadableByteStreamController,\n pullIntoDescriptor: PullIntoDescriptor) {\n const elementSize = pullIntoDescriptor.elementSize;\n\n const currentAlignedBytes = pullIntoDescriptor.bytesFilled - pullIntoDescriptor.bytesFilled % elementSize;\n\n const maxBytesToCopy = Math.min(controller._queueTotalSize,\n pullIntoDescriptor.byteLength - pullIntoDescriptor.bytesFilled);\n const maxBytesFilled = pullIntoDescriptor.bytesFilled + maxBytesToCopy;\n const maxAlignedBytes = maxBytesFilled - maxBytesFilled % elementSize;\n\n let totalBytesToCopyRemaining = maxBytesToCopy;\n let ready = false;\n if (maxAlignedBytes > currentAlignedBytes) {\n totalBytesToCopyRemaining = maxAlignedBytes - pullIntoDescriptor.bytesFilled;\n ready = true;\n }\n\n const queue = controller._queue;\n\n while (totalBytesToCopyRemaining > 0) {\n const headOfQueue = queue.peek();\n\n const bytesToCopy = Math.min(totalBytesToCopyRemaining, headOfQueue.byteLength);\n\n const destStart = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;\n CopyDataBlockBytes(pullIntoDescriptor.buffer, destStart, headOfQueue.buffer, headOfQueue.byteOffset, bytesToCopy);\n\n if (headOfQueue.byteLength === bytesToCopy) {\n queue.shift();\n } else {\n headOfQueue.byteOffset += bytesToCopy;\n headOfQueue.byteLength -= bytesToCopy;\n }\n controller._queueTotalSize -= bytesToCopy;\n\n ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesToCopy, pullIntoDescriptor);\n\n totalBytesToCopyRemaining -= bytesToCopy;\n }\n\n if (!ready) {\n assert(controller._queueTotalSize === 0);\n assert(pullIntoDescriptor.bytesFilled > 0);\n assert(pullIntoDescriptor.bytesFilled < pullIntoDescriptor.elementSize);\n }\n\n return ready;\n}\n\nfunction ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller: ReadableByteStreamController,\n size: number,\n pullIntoDescriptor: PullIntoDescriptor) {\n assert(controller._pendingPullIntos.length === 0 || controller._pendingPullIntos.peek() === pullIntoDescriptor);\n assert(controller._byobRequest === null);\n pullIntoDescriptor.bytesFilled += size;\n}\n\nfunction ReadableByteStreamControllerHandleQueueDrain(controller: ReadableByteStreamController) {\n assert(controller._controlledReadableByteStream._state === 'readable');\n\n if (controller._queueTotalSize === 0 && controller._closeRequested) {\n ReadableByteStreamControllerClearAlgorithms(controller);\n ReadableStreamClose(controller._controlledReadableByteStream);\n } else {\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }\n}\n\nfunction ReadableByteStreamControllerInvalidateBYOBRequest(controller: ReadableByteStreamController) {\n if (controller._byobRequest === null) {\n return;\n }\n\n controller._byobRequest._associatedReadableByteStreamController = undefined!;\n controller._byobRequest._view = null!;\n controller._byobRequest = null;\n}\n\nfunction ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller: ReadableByteStreamController) {\n assert(!controller._closeRequested);\n\n while (controller._pendingPullIntos.length > 0) {\n if (controller._queueTotalSize === 0) {\n return;\n }\n\n const pullIntoDescriptor = controller._pendingPullIntos.peek();\n\n if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor)) {\n ReadableByteStreamControllerShiftPendingPullInto(controller);\n\n ReadableByteStreamControllerCommitPullIntoDescriptor(\n controller._controlledReadableByteStream,\n pullIntoDescriptor\n );\n }\n }\n}\n\nexport function ReadableByteStreamControllerPullInto(\n controller: ReadableByteStreamController,\n view: T,\n readIntoRequest: ReadIntoRequest\n): void {\n const stream = controller._controlledReadableByteStream;\n\n let elementSize = 1;\n if (view.constructor !== DataView) {\n elementSize = (view.constructor as ArrayBufferViewConstructor).BYTES_PER_ELEMENT;\n }\n\n const ctor = view.constructor as ArrayBufferViewConstructor;\n\n // try {\n const buffer = TransferArrayBuffer(view.buffer);\n // } catch (e) {\n // readIntoRequest._errorSteps(e);\n // return;\n // }\n\n const pullIntoDescriptor: BYOBPullIntoDescriptor = {\n buffer,\n bufferByteLength: buffer.byteLength,\n byteOffset: view.byteOffset,\n byteLength: view.byteLength,\n bytesFilled: 0,\n elementSize,\n viewConstructor: ctor,\n readerType: 'byob'\n };\n\n if (controller._pendingPullIntos.length > 0) {\n controller._pendingPullIntos.push(pullIntoDescriptor);\n\n // No ReadableByteStreamControllerCallPullIfNeeded() call since:\n // - No change happens on desiredSize\n // - The source has already been notified of that there's at least 1 pending read(view)\n\n ReadableStreamAddReadIntoRequest(stream, readIntoRequest);\n return;\n }\n\n if (stream._state === 'closed') {\n const emptyView = new ctor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, 0);\n readIntoRequest._closeSteps(emptyView);\n return;\n }\n\n if (controller._queueTotalSize > 0) {\n if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor)) {\n const filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);\n\n ReadableByteStreamControllerHandleQueueDrain(controller);\n\n readIntoRequest._chunkSteps(filledView);\n return;\n }\n\n if (controller._closeRequested) {\n const e = new TypeError('Insufficient bytes to fill elements in the given buffer');\n ReadableByteStreamControllerError(controller, e);\n\n readIntoRequest._errorSteps(e);\n return;\n }\n }\n\n controller._pendingPullIntos.push(pullIntoDescriptor);\n\n ReadableStreamAddReadIntoRequest(stream, readIntoRequest);\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n}\n\nfunction ReadableByteStreamControllerRespondInClosedState(controller: ReadableByteStreamController,\n firstDescriptor: PullIntoDescriptor) {\n assert(firstDescriptor.bytesFilled === 0);\n\n const stream = controller._controlledReadableByteStream;\n if (ReadableStreamHasBYOBReader(stream)) {\n while (ReadableStreamGetNumReadIntoRequests(stream) > 0) {\n const pullIntoDescriptor = ReadableByteStreamControllerShiftPendingPullInto(controller);\n ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor);\n }\n }\n}\n\nfunction ReadableByteStreamControllerRespondInReadableState(controller: ReadableByteStreamController,\n bytesWritten: number,\n pullIntoDescriptor: PullIntoDescriptor) {\n assert(pullIntoDescriptor.bytesFilled + bytesWritten <= pullIntoDescriptor.byteLength);\n\n ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesWritten, pullIntoDescriptor);\n\n if (pullIntoDescriptor.bytesFilled < pullIntoDescriptor.elementSize) {\n return;\n }\n\n ReadableByteStreamControllerShiftPendingPullInto(controller);\n\n const remainderSize = pullIntoDescriptor.bytesFilled % pullIntoDescriptor.elementSize;\n if (remainderSize > 0) {\n const end = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;\n const remainder = ArrayBufferSlice(pullIntoDescriptor.buffer, end - remainderSize, end);\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, remainder, 0, remainder.byteLength);\n }\n\n pullIntoDescriptor.bytesFilled -= remainderSize;\n ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream, pullIntoDescriptor);\n\n ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);\n}\n\nfunction ReadableByteStreamControllerRespondInternal(controller: ReadableByteStreamController, bytesWritten: number) {\n const firstDescriptor = controller._pendingPullIntos.peek();\n assert(CanTransferArrayBuffer(firstDescriptor.buffer));\n\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n\n const state = controller._controlledReadableByteStream._state;\n if (state === 'closed') {\n assert(bytesWritten === 0);\n ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor);\n } else {\n assert(state === 'readable');\n assert(bytesWritten > 0);\n ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, firstDescriptor);\n }\n\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n}\n\nfunction ReadableByteStreamControllerShiftPendingPullInto(\n controller: ReadableByteStreamController\n): PullIntoDescriptor {\n assert(controller._byobRequest === null);\n const descriptor = controller._pendingPullIntos.shift()!;\n return descriptor;\n}\n\nfunction ReadableByteStreamControllerShouldCallPull(controller: ReadableByteStreamController): boolean {\n const stream = controller._controlledReadableByteStream;\n\n if (stream._state !== 'readable') {\n return false;\n }\n\n if (controller._closeRequested) {\n return false;\n }\n\n if (!controller._started) {\n return false;\n }\n\n if (ReadableStreamHasDefaultReader(stream) && ReadableStreamGetNumReadRequests(stream) > 0) {\n return true;\n }\n\n if (ReadableStreamHasBYOBReader(stream) && ReadableStreamGetNumReadIntoRequests(stream) > 0) {\n return true;\n }\n\n const desiredSize = ReadableByteStreamControllerGetDesiredSize(controller);\n assert(desiredSize !== null);\n if (desiredSize! > 0) {\n return true;\n }\n\n return false;\n}\n\nfunction ReadableByteStreamControllerClearAlgorithms(controller: ReadableByteStreamController) {\n controller._pullAlgorithm = undefined!;\n controller._cancelAlgorithm = undefined!;\n}\n\n// A client of ReadableByteStreamController may use these functions directly to bypass state check.\n\nexport function ReadableByteStreamControllerClose(controller: ReadableByteStreamController) {\n const stream = controller._controlledReadableByteStream;\n\n if (controller._closeRequested || stream._state !== 'readable') {\n return;\n }\n\n if (controller._queueTotalSize > 0) {\n controller._closeRequested = true;\n\n return;\n }\n\n if (controller._pendingPullIntos.length > 0) {\n const firstPendingPullInto = controller._pendingPullIntos.peek();\n if (firstPendingPullInto.bytesFilled > 0) {\n const e = new TypeError('Insufficient bytes to fill elements in the given buffer');\n ReadableByteStreamControllerError(controller, e);\n\n throw e;\n }\n }\n\n ReadableByteStreamControllerClearAlgorithms(controller);\n ReadableStreamClose(stream);\n}\n\nexport function ReadableByteStreamControllerEnqueue(controller: ReadableByteStreamController, chunk: ArrayBufferView) {\n const stream = controller._controlledReadableByteStream;\n\n if (controller._closeRequested || stream._state !== 'readable') {\n return;\n }\n\n const buffer = chunk.buffer;\n const byteOffset = chunk.byteOffset;\n const byteLength = chunk.byteLength;\n if (IsDetachedBuffer(buffer)) {\n throw new TypeError('chunk\\'s buffer is detached and so cannot be enqueued');\n }\n const transferredBuffer = TransferArrayBuffer(buffer);\n\n if (controller._pendingPullIntos.length > 0) {\n const firstPendingPullInto = controller._pendingPullIntos.peek();\n if (IsDetachedBuffer(firstPendingPullInto.buffer)) {\n throw new TypeError(\n 'The BYOB request\\'s buffer has been detached and so cannot be filled with an enqueued chunk'\n );\n }\n firstPendingPullInto.buffer = TransferArrayBuffer(firstPendingPullInto.buffer);\n }\n\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n\n if (ReadableStreamHasDefaultReader(stream)) {\n if (ReadableStreamGetNumReadRequests(stream) === 0) {\n assert(controller._pendingPullIntos.length === 0);\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\n } else {\n assert(controller._queue.length === 0);\n if (controller._pendingPullIntos.length > 0) {\n assert(controller._pendingPullIntos.peek().readerType === 'default');\n ReadableByteStreamControllerShiftPendingPullInto(controller);\n }\n const transferredView = new Uint8Array(transferredBuffer, byteOffset, byteLength);\n ReadableStreamFulfillReadRequest(stream, transferredView, false);\n }\n } else if (ReadableStreamHasBYOBReader(stream)) {\n // TODO: Ideally in this branch detaching should happen only if the buffer is not consumed fully.\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\n ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);\n } else {\n assert(!IsReadableStreamLocked(stream));\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\n }\n\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n}\n\nexport function ReadableByteStreamControllerError(controller: ReadableByteStreamController, e: any) {\n const stream = controller._controlledReadableByteStream;\n\n if (stream._state !== 'readable') {\n return;\n }\n\n ReadableByteStreamControllerClearPendingPullIntos(controller);\n\n ResetQueue(controller);\n ReadableByteStreamControllerClearAlgorithms(controller);\n ReadableStreamError(stream, e);\n}\n\nexport function ReadableByteStreamControllerGetBYOBRequest(\n controller: ReadableByteStreamController\n): ReadableStreamBYOBRequest | null {\n if (controller._byobRequest === null && controller._pendingPullIntos.length > 0) {\n const firstDescriptor = controller._pendingPullIntos.peek();\n const view = new Uint8Array(firstDescriptor.buffer,\n firstDescriptor.byteOffset + firstDescriptor.bytesFilled,\n firstDescriptor.byteLength - firstDescriptor.bytesFilled);\n\n const byobRequest: ReadableStreamBYOBRequest = Object.create(ReadableStreamBYOBRequest.prototype);\n SetUpReadableStreamBYOBRequest(byobRequest, controller, view);\n controller._byobRequest = byobRequest;\n }\n return controller._byobRequest;\n}\n\nfunction ReadableByteStreamControllerGetDesiredSize(controller: ReadableByteStreamController): number | null {\n const state = controller._controlledReadableByteStream._state;\n\n if (state === 'errored') {\n return null;\n }\n if (state === 'closed') {\n return 0;\n }\n\n return controller._strategyHWM - controller._queueTotalSize;\n}\n\nexport function ReadableByteStreamControllerRespond(controller: ReadableByteStreamController, bytesWritten: number) {\n assert(controller._pendingPullIntos.length > 0);\n\n const firstDescriptor = controller._pendingPullIntos.peek();\n const state = controller._controlledReadableByteStream._state;\n\n if (state === 'closed') {\n if (bytesWritten !== 0) {\n throw new TypeError('bytesWritten must be 0 when calling respond() on a closed stream');\n }\n } else {\n assert(state === 'readable');\n if (bytesWritten === 0) {\n throw new TypeError('bytesWritten must be greater than 0 when calling respond() on a readable stream');\n }\n if (firstDescriptor.bytesFilled + bytesWritten > firstDescriptor.byteLength) {\n throw new RangeError('bytesWritten out of range');\n }\n }\n\n firstDescriptor.buffer = TransferArrayBuffer(firstDescriptor.buffer);\n\n ReadableByteStreamControllerRespondInternal(controller, bytesWritten);\n}\n\nexport function ReadableByteStreamControllerRespondWithNewView(controller: ReadableByteStreamController,\n view: ArrayBufferView) {\n assert(controller._pendingPullIntos.length > 0);\n assert(!IsDetachedBuffer(view.buffer));\n\n const firstDescriptor = controller._pendingPullIntos.peek();\n const state = controller._controlledReadableByteStream._state;\n\n if (state === 'closed') {\n if (view.byteLength !== 0) {\n throw new TypeError('The view\\'s length must be 0 when calling respondWithNewView() on a closed stream');\n }\n } else {\n assert(state === 'readable');\n if (view.byteLength === 0) {\n throw new TypeError(\n 'The view\\'s length must be greater than 0 when calling respondWithNewView() on a readable stream'\n );\n }\n }\n\n if (firstDescriptor.byteOffset + firstDescriptor.bytesFilled !== view.byteOffset) {\n throw new RangeError('The region specified by view does not match byobRequest');\n }\n if (firstDescriptor.bufferByteLength !== view.buffer.byteLength) {\n throw new RangeError('The buffer of view has different capacity than byobRequest');\n }\n if (firstDescriptor.bytesFilled + view.byteLength > firstDescriptor.byteLength) {\n throw new RangeError('The region specified by view is larger than byobRequest');\n }\n\n const viewByteLength = view.byteLength;\n firstDescriptor.buffer = TransferArrayBuffer(view.buffer);\n ReadableByteStreamControllerRespondInternal(controller, viewByteLength);\n}\n\nexport function SetUpReadableByteStreamController(stream: ReadableByteStream,\n controller: ReadableByteStreamController,\n startAlgorithm: () => void | PromiseLike,\n pullAlgorithm: () => Promise,\n cancelAlgorithm: (reason: any) => Promise,\n highWaterMark: number,\n autoAllocateChunkSize: number | undefined) {\n assert(stream._readableStreamController === undefined);\n if (autoAllocateChunkSize !== undefined) {\n assert(NumberIsInteger(autoAllocateChunkSize));\n assert(autoAllocateChunkSize > 0);\n }\n\n controller._controlledReadableByteStream = stream;\n\n controller._pullAgain = false;\n controller._pulling = false;\n\n controller._byobRequest = null;\n\n // Need to set the slots so that the assert doesn't fire. In the spec the slots already exist implicitly.\n controller._queue = controller._queueTotalSize = undefined!;\n ResetQueue(controller);\n\n controller._closeRequested = false;\n controller._started = false;\n\n controller._strategyHWM = highWaterMark;\n\n controller._pullAlgorithm = pullAlgorithm;\n controller._cancelAlgorithm = cancelAlgorithm;\n\n controller._autoAllocateChunkSize = autoAllocateChunkSize;\n\n controller._pendingPullIntos = new SimpleQueue();\n\n stream._readableStreamController = controller;\n\n const startResult = startAlgorithm();\n uponPromise(\n promiseResolvedWith(startResult),\n () => {\n controller._started = true;\n\n assert(!controller._pulling);\n assert(!controller._pullAgain);\n\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n },\n r => {\n ReadableByteStreamControllerError(controller, r);\n }\n );\n}\n\nexport function SetUpReadableByteStreamControllerFromUnderlyingSource(\n stream: ReadableByteStream,\n underlyingByteSource: ValidatedUnderlyingByteSource,\n highWaterMark: number\n) {\n const controller: ReadableByteStreamController = Object.create(ReadableByteStreamController.prototype);\n\n let startAlgorithm: () => void | PromiseLike = () => undefined;\n let pullAlgorithm: () => Promise = () => promiseResolvedWith(undefined);\n let cancelAlgorithm: (reason: any) => Promise = () => promiseResolvedWith(undefined);\n\n if (underlyingByteSource.start !== undefined) {\n startAlgorithm = () => underlyingByteSource.start!(controller);\n }\n if (underlyingByteSource.pull !== undefined) {\n pullAlgorithm = () => underlyingByteSource.pull!(controller);\n }\n if (underlyingByteSource.cancel !== undefined) {\n cancelAlgorithm = reason => underlyingByteSource.cancel!(reason);\n }\n\n const autoAllocateChunkSize = underlyingByteSource.autoAllocateChunkSize;\n if (autoAllocateChunkSize === 0) {\n throw new TypeError('autoAllocateChunkSize must be greater than 0');\n }\n\n SetUpReadableByteStreamController(\n stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, autoAllocateChunkSize\n );\n}\n\nfunction SetUpReadableStreamBYOBRequest(request: ReadableStreamBYOBRequest,\n controller: ReadableByteStreamController,\n view: ArrayBufferView) {\n assert(IsReadableByteStreamController(controller));\n assert(typeof view === 'object');\n assert(ArrayBuffer.isView(view));\n assert(!IsDetachedBuffer(view.buffer));\n request._associatedReadableByteStreamController = controller;\n request._view = view;\n}\n\n// Helper functions for the ReadableStreamBYOBRequest.\n\nfunction byobRequestBrandCheckException(name: string): TypeError {\n return new TypeError(\n `ReadableStreamBYOBRequest.prototype.${name} can only be used on a ReadableStreamBYOBRequest`);\n}\n\n// Helper functions for the ReadableByteStreamController.\n\nfunction byteStreamControllerBrandCheckException(name: string): TypeError {\n return new TypeError(\n `ReadableByteStreamController.prototype.${name} can only be used on a ReadableByteStreamController`);\n}\n","import assert from '../../stub/assert';\nimport { SimpleQueue } from '../simple-queue';\nimport {\n ReadableStreamReaderGenericCancel,\n ReadableStreamReaderGenericInitialize,\n ReadableStreamReaderGenericRelease,\n readerLockException\n} from './generic-reader';\nimport { IsReadableStreamLocked, ReadableByteStream, ReadableStream } from '../readable-stream';\nimport {\n IsReadableByteStreamController,\n ReadableByteStreamController,\n ReadableByteStreamControllerPullInto\n} from './byte-stream-controller';\nimport { typeIsObject } from '../helpers/miscellaneous';\nimport { newPromise, promiseRejectedWith } from '../helpers/webidl';\nimport { assertRequiredArgument } from '../validators/basic';\nimport { assertReadableStream } from '../validators/readable-stream';\nimport { IsDetachedBuffer } from '../abstract-ops/ecmascript';\n\n/**\n * A result returned by {@link ReadableStreamBYOBReader.read}.\n *\n * @public\n */\nexport type ReadableStreamBYOBReadResult = {\n done: false;\n value: T;\n} | {\n done: true;\n value: T | undefined;\n};\n\n// Abstract operations for the ReadableStream.\n\nexport function AcquireReadableStreamBYOBReader(stream: ReadableByteStream): ReadableStreamBYOBReader {\n return new ReadableStreamBYOBReader(stream);\n}\n\n// ReadableStream API exposed for controllers.\n\nexport function ReadableStreamAddReadIntoRequest(stream: ReadableByteStream,\n readIntoRequest: ReadIntoRequest): void {\n assert(IsReadableStreamBYOBReader(stream._reader));\n assert(stream._state === 'readable' || stream._state === 'closed');\n\n (stream._reader! as ReadableStreamBYOBReader)._readIntoRequests.push(readIntoRequest);\n}\n\nexport function ReadableStreamFulfillReadIntoRequest(stream: ReadableByteStream,\n chunk: ArrayBufferView,\n done: boolean) {\n const reader = stream._reader as ReadableStreamBYOBReader;\n\n assert(reader._readIntoRequests.length > 0);\n\n const readIntoRequest = reader._readIntoRequests.shift()!;\n if (done) {\n readIntoRequest._closeSteps(chunk);\n } else {\n readIntoRequest._chunkSteps(chunk);\n }\n}\n\nexport function ReadableStreamGetNumReadIntoRequests(stream: ReadableByteStream): number {\n return (stream._reader as ReadableStreamBYOBReader)._readIntoRequests.length;\n}\n\nexport function ReadableStreamHasBYOBReader(stream: ReadableByteStream): boolean {\n const reader = stream._reader;\n\n if (reader === undefined) {\n return false;\n }\n\n if (!IsReadableStreamBYOBReader(reader)) {\n return false;\n }\n\n return true;\n}\n\n// Readers\n\nexport interface ReadIntoRequest {\n _chunkSteps(chunk: T): void;\n\n _closeSteps(chunk: T | undefined): void;\n\n _errorSteps(e: any): void;\n}\n\n/**\n * A BYOB reader vended by a {@link ReadableStream}.\n *\n * @public\n */\nexport class ReadableStreamBYOBReader {\n /** @internal */\n _ownerReadableStream!: ReadableByteStream;\n /** @internal */\n _closedPromise!: Promise;\n /** @internal */\n _closedPromise_resolve?: (value?: undefined) => void;\n /** @internal */\n _closedPromise_reject?: (reason: any) => void;\n /** @internal */\n _readIntoRequests: SimpleQueue>;\n\n constructor(stream: ReadableByteStream) {\n assertRequiredArgument(stream, 1, 'ReadableStreamBYOBReader');\n assertReadableStream(stream, 'First parameter');\n\n if (IsReadableStreamLocked(stream)) {\n throw new TypeError('This stream has already been locked for exclusive reading by another reader');\n }\n\n if (!IsReadableByteStreamController(stream._readableStreamController)) {\n throw new TypeError('Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte ' +\n 'source');\n }\n\n ReadableStreamReaderGenericInitialize(this, stream);\n\n this._readIntoRequests = new SimpleQueue();\n }\n\n /**\n * Returns a promise that will be fulfilled when the stream becomes closed, or rejected if the stream ever errors or\n * the reader's lock is released before the stream finishes closing.\n */\n get closed(): Promise {\n if (!IsReadableStreamBYOBReader(this)) {\n return promiseRejectedWith(byobReaderBrandCheckException('closed'));\n }\n\n return this._closedPromise;\n }\n\n /**\n * If the reader is active, behaves the same as {@link ReadableStream.cancel | stream.cancel(reason)}.\n */\n cancel(reason: any = undefined): Promise {\n if (!IsReadableStreamBYOBReader(this)) {\n return promiseRejectedWith(byobReaderBrandCheckException('cancel'));\n }\n\n if (this._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('cancel'));\n }\n\n return ReadableStreamReaderGenericCancel(this, reason);\n }\n\n /**\n * Attempts to reads bytes into view, and returns a promise resolved with the result.\n *\n * If reading a chunk causes the queue to become empty, more data will be pulled from the underlying source.\n */\n read(view: T): Promise> {\n if (!IsReadableStreamBYOBReader(this)) {\n return promiseRejectedWith(byobReaderBrandCheckException('read'));\n }\n\n if (!ArrayBuffer.isView(view)) {\n return promiseRejectedWith(new TypeError('view must be an array buffer view'));\n }\n if (view.byteLength === 0) {\n return promiseRejectedWith(new TypeError('view must have non-zero byteLength'));\n }\n if (view.buffer.byteLength === 0) {\n return promiseRejectedWith(new TypeError(`view's buffer must have non-zero byteLength`));\n }\n if (IsDetachedBuffer(view.buffer)) {\n return promiseRejectedWith(new TypeError('view\\'s buffer has been detached'));\n }\n\n if (this._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('read from'));\n }\n\n let resolvePromise!: (result: ReadableStreamBYOBReadResult) => void;\n let rejectPromise!: (reason: any) => void;\n const promise = newPromise>((resolve, reject) => {\n resolvePromise = resolve;\n rejectPromise = reject;\n });\n const readIntoRequest: ReadIntoRequest = {\n _chunkSteps: chunk => resolvePromise({ value: chunk, done: false }),\n _closeSteps: chunk => resolvePromise({ value: chunk, done: true }),\n _errorSteps: e => rejectPromise(e)\n };\n ReadableStreamBYOBReaderRead(this, view, readIntoRequest);\n return promise;\n }\n\n /**\n * Releases the reader's lock on the corresponding stream. After the lock is released, the reader is no longer active.\n * If the associated stream is errored when the lock is released, the reader will appear errored in the same way\n * from now on; otherwise, the reader will appear closed.\n *\n * A reader's lock cannot be released while it still has a pending read request, i.e., if a promise returned by\n * the reader's {@link ReadableStreamBYOBReader.read | read()} method has not yet been settled. Attempting to\n * do so will throw a `TypeError` and leave the reader locked to the stream.\n */\n releaseLock(): void {\n if (!IsReadableStreamBYOBReader(this)) {\n throw byobReaderBrandCheckException('releaseLock');\n }\n\n if (this._ownerReadableStream === undefined) {\n return;\n }\n\n if (this._readIntoRequests.length > 0) {\n throw new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled');\n }\n\n ReadableStreamReaderGenericRelease(this);\n }\n}\n\nObject.defineProperties(ReadableStreamBYOBReader.prototype, {\n cancel: { enumerable: true },\n read: { enumerable: true },\n releaseLock: { enumerable: true },\n closed: { enumerable: true }\n});\nif (typeof Symbol.toStringTag === 'symbol') {\n Object.defineProperty(ReadableStreamBYOBReader.prototype, Symbol.toStringTag, {\n value: 'ReadableStreamBYOBReader',\n configurable: true\n });\n}\n\n// Abstract operations for the readers.\n\nexport function IsReadableStreamBYOBReader(x: any): x is ReadableStreamBYOBReader {\n if (!typeIsObject(x)) {\n return false;\n }\n\n if (!Object.prototype.hasOwnProperty.call(x, '_readIntoRequests')) {\n return false;\n }\n\n return x instanceof ReadableStreamBYOBReader;\n}\n\nexport function ReadableStreamBYOBReaderRead(\n reader: ReadableStreamBYOBReader,\n view: T,\n readIntoRequest: ReadIntoRequest\n): void {\n const stream = reader._ownerReadableStream;\n\n assert(stream !== undefined);\n\n stream._disturbed = true;\n\n if (stream._state === 'errored') {\n readIntoRequest._errorSteps(stream._storedError);\n } else {\n ReadableByteStreamControllerPullInto(\n stream._readableStreamController as ReadableByteStreamController,\n view,\n readIntoRequest\n );\n }\n}\n\n// Helper functions for the ReadableStreamBYOBReader.\n\nfunction byobReaderBrandCheckException(name: string): TypeError {\n return new TypeError(\n `ReadableStreamBYOBReader.prototype.${name} can only be used on a ReadableStreamBYOBReader`);\n}\n","import { QueuingStrategy, QueuingStrategySizeCallback } from '../queuing-strategy';\nimport NumberIsNaN from '../../stub/number-isnan';\n\nexport function ExtractHighWaterMark(strategy: QueuingStrategy, defaultHWM: number): number {\n const { highWaterMark } = strategy;\n\n if (highWaterMark === undefined) {\n return defaultHWM;\n }\n\n if (NumberIsNaN(highWaterMark) || highWaterMark < 0) {\n throw new RangeError('Invalid highWaterMark');\n }\n\n return highWaterMark;\n}\n\nexport function ExtractSizeAlgorithm(strategy: QueuingStrategy): QueuingStrategySizeCallback {\n const { size } = strategy;\n\n if (!size) {\n return () => 1;\n }\n\n return size;\n}\n","import { QueuingStrategy, QueuingStrategySizeCallback } from '../queuing-strategy';\nimport { assertDictionary, assertFunction, convertUnrestrictedDouble } from './basic';\n\nexport function convertQueuingStrategy(init: QueuingStrategy | null | undefined,\n context: string): QueuingStrategy {\n assertDictionary(init, context);\n const highWaterMark = init?.highWaterMark;\n const size = init?.size;\n return {\n highWaterMark: highWaterMark === undefined ? undefined : convertUnrestrictedDouble(highWaterMark),\n size: size === undefined ? undefined : convertQueuingStrategySize(size, `${context} has member 'size' that`)\n };\n}\n\nfunction convertQueuingStrategySize(fn: QueuingStrategySizeCallback,\n context: string): QueuingStrategySizeCallback {\n assertFunction(fn, context);\n return chunk => convertUnrestrictedDouble(fn(chunk));\n}\n","import { assertDictionary, assertFunction } from './basic';\nimport { promiseCall, reflectCall } from '../helpers/webidl';\nimport {\n UnderlyingSink,\n UnderlyingSinkAbortCallback,\n UnderlyingSinkCloseCallback,\n UnderlyingSinkStartCallback,\n UnderlyingSinkWriteCallback,\n ValidatedUnderlyingSink\n} from '../writable-stream/underlying-sink';\nimport { WritableStreamDefaultController } from '../writable-stream';\n\nexport function convertUnderlyingSink(original: UnderlyingSink | null,\n context: string): ValidatedUnderlyingSink {\n assertDictionary(original, context);\n const abort = original?.abort;\n const close = original?.close;\n const start = original?.start;\n const type = original?.type;\n const write = original?.write;\n return {\n abort: abort === undefined ?\n undefined :\n convertUnderlyingSinkAbortCallback(abort, original!, `${context} has member 'abort' that`),\n close: close === undefined ?\n undefined :\n convertUnderlyingSinkCloseCallback(close, original!, `${context} has member 'close' that`),\n start: start === undefined ?\n undefined :\n convertUnderlyingSinkStartCallback(start, original!, `${context} has member 'start' that`),\n write: write === undefined ?\n undefined :\n convertUnderlyingSinkWriteCallback(write, original!, `${context} has member 'write' that`),\n type\n };\n}\n\nfunction convertUnderlyingSinkAbortCallback(\n fn: UnderlyingSinkAbortCallback,\n original: UnderlyingSink,\n context: string\n): (reason: any) => Promise {\n assertFunction(fn, context);\n return (reason: any) => promiseCall(fn, original, [reason]);\n}\n\nfunction convertUnderlyingSinkCloseCallback(\n fn: UnderlyingSinkCloseCallback,\n original: UnderlyingSink,\n context: string\n): () => Promise {\n assertFunction(fn, context);\n return () => promiseCall(fn, original, []);\n}\n\nfunction convertUnderlyingSinkStartCallback(\n fn: UnderlyingSinkStartCallback,\n original: UnderlyingSink,\n context: string\n): UnderlyingSinkStartCallback {\n assertFunction(fn, context);\n return (controller: WritableStreamDefaultController) => reflectCall(fn, original, [controller]);\n}\n\nfunction convertUnderlyingSinkWriteCallback(\n fn: UnderlyingSinkWriteCallback,\n original: UnderlyingSink,\n context: string\n): (chunk: W, controller: WritableStreamDefaultController) => Promise {\n assertFunction(fn, context);\n return (chunk: W, controller: WritableStreamDefaultController) => promiseCall(fn, original, [chunk, controller]);\n}\n","import { IsWritableStream, WritableStream } from '../writable-stream';\n\nexport function assertWritableStream(x: unknown, context: string): asserts x is WritableStream {\n if (!IsWritableStream(x)) {\n throw new TypeError(`${context} is not a WritableStream.`);\n }\n}\n","/**\n * A signal object that allows you to communicate with a request and abort it if required\n * via its associated `AbortController` object.\n *\n * @remarks\n * This interface is compatible with the `AbortSignal` interface defined in TypeScript's DOM types.\n * It is redefined here, so it can be polyfilled without a DOM, for example with\n * {@link https://www.npmjs.com/package/abortcontroller-polyfill | abortcontroller-polyfill} in a Node environment.\n *\n * @public\n */\nexport interface AbortSignal {\n /**\n * Whether the request is aborted.\n */\n readonly aborted: boolean;\n\n /**\n * Add an event listener to be triggered when this signal becomes aborted.\n */\n addEventListener(type: 'abort', listener: () => void): void;\n\n /**\n * Remove an event listener that was previously added with {@link AbortSignal.addEventListener}.\n */\n removeEventListener(type: 'abort', listener: () => void): void;\n}\n\nexport function isAbortSignal(value: unknown): value is AbortSignal {\n if (typeof value !== 'object' || value === null) {\n return false;\n }\n try {\n return typeof (value as AbortSignal).aborted === 'boolean';\n } catch {\n // AbortSignal.prototype.aborted throws if its brand check fails\n return false;\n }\n}\n\n/**\n * A controller object that allows you to abort an `AbortSignal` when desired.\n *\n * @remarks\n * This interface is compatible with the `AbortController` interface defined in TypeScript's DOM types.\n * It is redefined here, so it can be polyfilled without a DOM, for example with\n * {@link https://www.npmjs.com/package/abortcontroller-polyfill | abortcontroller-polyfill} in a Node environment.\n *\n * @internal\n */\nexport interface AbortController {\n readonly signal: AbortSignal;\n\n abort(): void;\n}\n\ninterface AbortControllerConstructor {\n new(): AbortController;\n}\n\nconst supportsAbortController = typeof (AbortController as any) === 'function';\n\n/**\n * Construct a new AbortController, if supported by the platform.\n *\n * @internal\n */\nexport function createAbortController(): AbortController | undefined {\n if (supportsAbortController) {\n return new (AbortController as AbortControllerConstructor)();\n }\n return undefined;\n}\n","import assert from '../stub/assert';\nimport {\n newPromise,\n promiseRejectedWith,\n promiseResolvedWith,\n setPromiseIsHandledToTrue,\n uponPromise\n} from './helpers/webidl';\nimport {\n DequeueValue,\n EnqueueValueWithSize,\n PeekQueueValue,\n QueuePair,\n ResetQueue\n} from './abstract-ops/queue-with-sizes';\nimport { QueuingStrategy, QueuingStrategySizeCallback } from './queuing-strategy';\nimport { SimpleQueue } from './simple-queue';\nimport { typeIsObject } from './helpers/miscellaneous';\nimport { AbortSteps, ErrorSteps } from './abstract-ops/internal-methods';\nimport { IsNonNegativeNumber } from './abstract-ops/miscellaneous';\nimport { ExtractHighWaterMark, ExtractSizeAlgorithm } from './abstract-ops/queuing-strategy';\nimport { convertQueuingStrategy } from './validators/queuing-strategy';\nimport {\n UnderlyingSink,\n UnderlyingSinkAbortCallback,\n UnderlyingSinkCloseCallback,\n UnderlyingSinkStartCallback,\n UnderlyingSinkWriteCallback,\n ValidatedUnderlyingSink\n} from './writable-stream/underlying-sink';\nimport { assertObject, assertRequiredArgument } from './validators/basic';\nimport { convertUnderlyingSink } from './validators/underlying-sink';\nimport { assertWritableStream } from './validators/writable-stream';\nimport { AbortController, AbortSignal, createAbortController } from './abort-signal';\n\ntype WritableStreamState = 'writable' | 'closed' | 'erroring' | 'errored';\n\ninterface WriteOrCloseRequest {\n _resolve: (value?: undefined) => void;\n _reject: (reason: any) => void;\n}\n\ntype WriteRequest = WriteOrCloseRequest;\ntype CloseRequest = WriteOrCloseRequest;\n\ninterface PendingAbortRequest {\n _promise: Promise;\n _resolve: (value?: undefined) => void;\n _reject: (reason: any) => void;\n _reason: any;\n _wasAlreadyErroring: boolean;\n}\n\n/**\n * A writable stream represents a destination for data, into which you can write.\n *\n * @public\n */\nclass WritableStream {\n /** @internal */\n _state!: WritableStreamState;\n /** @internal */\n _storedError: any;\n /** @internal */\n _writer: WritableStreamDefaultWriter | undefined;\n /** @internal */\n _writableStreamController!: WritableStreamDefaultController;\n /** @internal */\n _writeRequests!: SimpleQueue;\n /** @internal */\n _inFlightWriteRequest: WriteRequest | undefined;\n /** @internal */\n _closeRequest: CloseRequest | undefined;\n /** @internal */\n _inFlightCloseRequest: CloseRequest | undefined;\n /** @internal */\n _pendingAbortRequest: PendingAbortRequest | undefined;\n /** @internal */\n _backpressure!: boolean;\n\n constructor(underlyingSink?: UnderlyingSink, strategy?: QueuingStrategy);\n constructor(rawUnderlyingSink: UnderlyingSink | null | undefined = {},\n rawStrategy: QueuingStrategy | null | undefined = {}) {\n if (rawUnderlyingSink === undefined) {\n rawUnderlyingSink = null;\n } else {\n assertObject(rawUnderlyingSink, 'First parameter');\n }\n\n const strategy = convertQueuingStrategy(rawStrategy, 'Second parameter');\n const underlyingSink = convertUnderlyingSink(rawUnderlyingSink, 'First parameter');\n\n InitializeWritableStream(this);\n\n const type = underlyingSink.type;\n if (type !== undefined) {\n throw new RangeError('Invalid type is specified');\n }\n\n const sizeAlgorithm = ExtractSizeAlgorithm(strategy);\n const highWaterMark = ExtractHighWaterMark(strategy, 1);\n\n SetUpWritableStreamDefaultControllerFromUnderlyingSink(this, underlyingSink, highWaterMark, sizeAlgorithm);\n }\n\n /**\n * Returns whether or not the writable stream is locked to a writer.\n */\n get locked(): boolean {\n if (!IsWritableStream(this)) {\n throw streamBrandCheckException('locked');\n }\n\n return IsWritableStreamLocked(this);\n }\n\n /**\n * Aborts the stream, signaling that the producer can no longer successfully write to the stream and it is to be\n * immediately moved to an errored state, with any queued-up writes discarded. This will also execute any abort\n * mechanism of the underlying sink.\n *\n * The returned promise will fulfill if the stream shuts down successfully, or reject if the underlying sink signaled\n * that there was an error doing so. Additionally, it will reject with a `TypeError` (without attempting to cancel\n * the stream) if the stream is currently locked.\n */\n abort(reason: any = undefined): Promise {\n if (!IsWritableStream(this)) {\n return promiseRejectedWith(streamBrandCheckException('abort'));\n }\n\n if (IsWritableStreamLocked(this)) {\n return promiseRejectedWith(new TypeError('Cannot abort a stream that already has a writer'));\n }\n\n return WritableStreamAbort(this, reason);\n }\n\n /**\n * Closes the stream. The underlying sink will finish processing any previously-written chunks, before invoking its\n * close behavior. During this time any further attempts to write will fail (without erroring the stream).\n *\n * The method returns a promise that will fulfill if all remaining chunks are successfully written and the stream\n * successfully closes, or rejects if an error is encountered during this process. Additionally, it will reject with\n * a `TypeError` (without attempting to cancel the stream) if the stream is currently locked.\n */\n close() {\n if (!IsWritableStream(this)) {\n return promiseRejectedWith(streamBrandCheckException('close'));\n }\n\n if (IsWritableStreamLocked(this)) {\n return promiseRejectedWith(new TypeError('Cannot close a stream that already has a writer'));\n }\n\n if (WritableStreamCloseQueuedOrInFlight(this)) {\n return promiseRejectedWith(new TypeError('Cannot close an already-closing stream'));\n }\n\n return WritableStreamClose(this);\n }\n\n /**\n * Creates a {@link WritableStreamDefaultWriter | writer} and locks the stream to the new writer. While the stream\n * is locked, no other writer can be acquired until this one is released.\n *\n * This functionality is especially useful for creating abstractions that desire the ability to write to a stream\n * without interruption or interleaving. By getting a writer for the stream, you can ensure nobody else can write at\n * the same time, which would cause the resulting written data to be unpredictable and probably useless.\n */\n getWriter(): WritableStreamDefaultWriter {\n if (!IsWritableStream(this)) {\n throw streamBrandCheckException('getWriter');\n }\n\n return AcquireWritableStreamDefaultWriter(this);\n }\n}\n\nObject.defineProperties(WritableStream.prototype, {\n abort: { enumerable: true },\n close: { enumerable: true },\n getWriter: { enumerable: true },\n locked: { enumerable: true }\n});\nif (typeof Symbol.toStringTag === 'symbol') {\n Object.defineProperty(WritableStream.prototype, Symbol.toStringTag, {\n value: 'WritableStream',\n configurable: true\n });\n}\n\nexport {\n AcquireWritableStreamDefaultWriter,\n CreateWritableStream,\n IsWritableStream,\n IsWritableStreamLocked,\n WritableStream,\n WritableStreamAbort,\n WritableStreamDefaultControllerErrorIfNeeded,\n WritableStreamDefaultWriterCloseWithErrorPropagation,\n WritableStreamDefaultWriterRelease,\n WritableStreamDefaultWriterWrite,\n WritableStreamCloseQueuedOrInFlight,\n UnderlyingSink,\n UnderlyingSinkStartCallback,\n UnderlyingSinkWriteCallback,\n UnderlyingSinkCloseCallback,\n UnderlyingSinkAbortCallback\n};\n\n// Abstract operations for the WritableStream.\n\nfunction AcquireWritableStreamDefaultWriter(stream: WritableStream): WritableStreamDefaultWriter {\n return new WritableStreamDefaultWriter(stream);\n}\n\n// Throws if and only if startAlgorithm throws.\nfunction CreateWritableStream(startAlgorithm: () => void | PromiseLike,\n writeAlgorithm: (chunk: W) => Promise,\n closeAlgorithm: () => Promise,\n abortAlgorithm: (reason: any) => Promise,\n highWaterMark = 1,\n sizeAlgorithm: QueuingStrategySizeCallback = () => 1) {\n assert(IsNonNegativeNumber(highWaterMark));\n\n const stream: WritableStream = Object.create(WritableStream.prototype);\n InitializeWritableStream(stream);\n\n const controller: WritableStreamDefaultController = Object.create(WritableStreamDefaultController.prototype);\n\n SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm,\n abortAlgorithm, highWaterMark, sizeAlgorithm);\n return stream;\n}\n\nfunction InitializeWritableStream(stream: WritableStream) {\n stream._state = 'writable';\n\n // The error that will be reported by new method calls once the state becomes errored. Only set when [[state]] is\n // 'erroring' or 'errored'. May be set to an undefined value.\n stream._storedError = undefined;\n\n stream._writer = undefined;\n\n // Initialize to undefined first because the constructor of the controller checks this\n // variable to validate the caller.\n stream._writableStreamController = undefined!;\n\n // This queue is placed here instead of the writer class in order to allow for passing a writer to the next data\n // producer without waiting for the queued writes to finish.\n stream._writeRequests = new SimpleQueue();\n\n // Write requests are removed from _writeRequests when write() is called on the underlying sink. This prevents\n // them from being erroneously rejected on error. If a write() call is in-flight, the request is stored here.\n stream._inFlightWriteRequest = undefined;\n\n // The promise that was returned from writer.close(). Stored here because it may be fulfilled after the writer\n // has been detached.\n stream._closeRequest = undefined;\n\n // Close request is removed from _closeRequest when close() is called on the underlying sink. This prevents it\n // from being erroneously rejected on error. If a close() call is in-flight, the request is stored here.\n stream._inFlightCloseRequest = undefined;\n\n // The promise that was returned from writer.abort(). This may also be fulfilled after the writer has detached.\n stream._pendingAbortRequest = undefined;\n\n // The backpressure signal set by the controller.\n stream._backpressure = false;\n}\n\nfunction IsWritableStream(x: unknown): x is WritableStream {\n if (!typeIsObject(x)) {\n return false;\n }\n\n if (!Object.prototype.hasOwnProperty.call(x, '_writableStreamController')) {\n return false;\n }\n\n return x instanceof WritableStream;\n}\n\nfunction IsWritableStreamLocked(stream: WritableStream): boolean {\n assert(IsWritableStream(stream));\n\n if (stream._writer === undefined) {\n return false;\n }\n\n return true;\n}\n\nfunction WritableStreamAbort(stream: WritableStream, reason: any): Promise {\n if (stream._state === 'closed' || stream._state === 'errored') {\n return promiseResolvedWith(undefined);\n }\n stream._writableStreamController._abortReason = reason;\n stream._writableStreamController._abortController?.abort();\n\n // TypeScript narrows the type of `stream._state` down to 'writable' | 'erroring',\n // but it doesn't know that signaling abort runs author code that might have changed the state.\n // Widen the type again by casting to WritableStreamState.\n const state = stream._state as WritableStreamState;\n\n if (state === 'closed' || state === 'errored') {\n return promiseResolvedWith(undefined);\n }\n if (stream._pendingAbortRequest !== undefined) {\n return stream._pendingAbortRequest._promise;\n }\n\n assert(state === 'writable' || state === 'erroring');\n\n let wasAlreadyErroring = false;\n if (state === 'erroring') {\n wasAlreadyErroring = true;\n // reason will not be used, so don't keep a reference to it.\n reason = undefined;\n }\n\n const promise = newPromise((resolve, reject) => {\n stream._pendingAbortRequest = {\n _promise: undefined!,\n _resolve: resolve,\n _reject: reject,\n _reason: reason,\n _wasAlreadyErroring: wasAlreadyErroring\n };\n });\n stream._pendingAbortRequest!._promise = promise;\n\n if (!wasAlreadyErroring) {\n WritableStreamStartErroring(stream, reason);\n }\n\n return promise;\n}\n\nfunction WritableStreamClose(stream: WritableStream): Promise {\n const state = stream._state;\n if (state === 'closed' || state === 'errored') {\n return promiseRejectedWith(new TypeError(\n `The stream (in ${state} state) is not in the writable state and cannot be closed`));\n }\n\n assert(state === 'writable' || state === 'erroring');\n assert(!WritableStreamCloseQueuedOrInFlight(stream));\n\n const promise = newPromise((resolve, reject) => {\n const closeRequest: CloseRequest = {\n _resolve: resolve,\n _reject: reject\n };\n\n stream._closeRequest = closeRequest;\n });\n\n const writer = stream._writer;\n if (writer !== undefined && stream._backpressure && state === 'writable') {\n defaultWriterReadyPromiseResolve(writer);\n }\n\n WritableStreamDefaultControllerClose(stream._writableStreamController);\n\n return promise;\n}\n\n// WritableStream API exposed for controllers.\n\nfunction WritableStreamAddWriteRequest(stream: WritableStream): Promise {\n assert(IsWritableStreamLocked(stream));\n assert(stream._state === 'writable');\n\n const promise = newPromise((resolve, reject) => {\n const writeRequest: WriteRequest = {\n _resolve: resolve,\n _reject: reject\n };\n\n stream._writeRequests.push(writeRequest);\n });\n\n return promise;\n}\n\nfunction WritableStreamDealWithRejection(stream: WritableStream, error: any) {\n const state = stream._state;\n\n if (state === 'writable') {\n WritableStreamStartErroring(stream, error);\n return;\n }\n\n assert(state === 'erroring');\n WritableStreamFinishErroring(stream);\n}\n\nfunction WritableStreamStartErroring(stream: WritableStream, reason: any) {\n assert(stream._storedError === undefined);\n assert(stream._state === 'writable');\n\n const controller = stream._writableStreamController;\n assert(controller !== undefined);\n\n stream._state = 'erroring';\n stream._storedError = reason;\n const writer = stream._writer;\n if (writer !== undefined) {\n WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, reason);\n }\n\n if (!WritableStreamHasOperationMarkedInFlight(stream) && controller._started) {\n WritableStreamFinishErroring(stream);\n }\n}\n\nfunction WritableStreamFinishErroring(stream: WritableStream) {\n assert(stream._state === 'erroring');\n assert(!WritableStreamHasOperationMarkedInFlight(stream));\n stream._state = 'errored';\n stream._writableStreamController[ErrorSteps]();\n\n const storedError = stream._storedError;\n stream._writeRequests.forEach(writeRequest => {\n writeRequest._reject(storedError);\n });\n stream._writeRequests = new SimpleQueue();\n\n if (stream._pendingAbortRequest === undefined) {\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n return;\n }\n\n const abortRequest = stream._pendingAbortRequest;\n stream._pendingAbortRequest = undefined;\n\n if (abortRequest._wasAlreadyErroring) {\n abortRequest._reject(storedError);\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n return;\n }\n\n const promise = stream._writableStreamController[AbortSteps](abortRequest._reason);\n uponPromise(\n promise,\n () => {\n abortRequest._resolve();\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n },\n (reason: any) => {\n abortRequest._reject(reason);\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n });\n}\n\nfunction WritableStreamFinishInFlightWrite(stream: WritableStream) {\n assert(stream._inFlightWriteRequest !== undefined);\n stream._inFlightWriteRequest!._resolve(undefined);\n stream._inFlightWriteRequest = undefined;\n}\n\nfunction WritableStreamFinishInFlightWriteWithError(stream: WritableStream, error: any) {\n assert(stream._inFlightWriteRequest !== undefined);\n stream._inFlightWriteRequest!._reject(error);\n stream._inFlightWriteRequest = undefined;\n\n assert(stream._state === 'writable' || stream._state === 'erroring');\n\n WritableStreamDealWithRejection(stream, error);\n}\n\nfunction WritableStreamFinishInFlightClose(stream: WritableStream) {\n assert(stream._inFlightCloseRequest !== undefined);\n stream._inFlightCloseRequest!._resolve(undefined);\n stream._inFlightCloseRequest = undefined;\n\n const state = stream._state;\n\n assert(state === 'writable' || state === 'erroring');\n\n if (state === 'erroring') {\n // The error was too late to do anything, so it is ignored.\n stream._storedError = undefined;\n if (stream._pendingAbortRequest !== undefined) {\n stream._pendingAbortRequest._resolve();\n stream._pendingAbortRequest = undefined;\n }\n }\n\n stream._state = 'closed';\n\n const writer = stream._writer;\n if (writer !== undefined) {\n defaultWriterClosedPromiseResolve(writer);\n }\n\n assert(stream._pendingAbortRequest === undefined);\n assert(stream._storedError === undefined);\n}\n\nfunction WritableStreamFinishInFlightCloseWithError(stream: WritableStream, error: any) {\n assert(stream._inFlightCloseRequest !== undefined);\n stream._inFlightCloseRequest!._reject(error);\n stream._inFlightCloseRequest = undefined;\n\n assert(stream._state === 'writable' || stream._state === 'erroring');\n\n // Never execute sink abort() after sink close().\n if (stream._pendingAbortRequest !== undefined) {\n stream._pendingAbortRequest._reject(error);\n stream._pendingAbortRequest = undefined;\n }\n WritableStreamDealWithRejection(stream, error);\n}\n\n// TODO(ricea): Fix alphabetical order.\nfunction WritableStreamCloseQueuedOrInFlight(stream: WritableStream): boolean {\n if (stream._closeRequest === undefined && stream._inFlightCloseRequest === undefined) {\n return false;\n }\n\n return true;\n}\n\nfunction WritableStreamHasOperationMarkedInFlight(stream: WritableStream): boolean {\n if (stream._inFlightWriteRequest === undefined && stream._inFlightCloseRequest === undefined) {\n return false;\n }\n\n return true;\n}\n\nfunction WritableStreamMarkCloseRequestInFlight(stream: WritableStream) {\n assert(stream._inFlightCloseRequest === undefined);\n assert(stream._closeRequest !== undefined);\n stream._inFlightCloseRequest = stream._closeRequest;\n stream._closeRequest = undefined;\n}\n\nfunction WritableStreamMarkFirstWriteRequestInFlight(stream: WritableStream) {\n assert(stream._inFlightWriteRequest === undefined);\n assert(stream._writeRequests.length !== 0);\n stream._inFlightWriteRequest = stream._writeRequests.shift();\n}\n\nfunction WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream: WritableStream) {\n assert(stream._state === 'errored');\n if (stream._closeRequest !== undefined) {\n assert(stream._inFlightCloseRequest === undefined);\n\n stream._closeRequest._reject(stream._storedError);\n stream._closeRequest = undefined;\n }\n const writer = stream._writer;\n if (writer !== undefined) {\n defaultWriterClosedPromiseReject(writer, stream._storedError);\n }\n}\n\nfunction WritableStreamUpdateBackpressure(stream: WritableStream, backpressure: boolean) {\n assert(stream._state === 'writable');\n assert(!WritableStreamCloseQueuedOrInFlight(stream));\n\n const writer = stream._writer;\n if (writer !== undefined && backpressure !== stream._backpressure) {\n if (backpressure) {\n defaultWriterReadyPromiseReset(writer);\n } else {\n assert(!backpressure);\n\n defaultWriterReadyPromiseResolve(writer);\n }\n }\n\n stream._backpressure = backpressure;\n}\n\n/**\n * A default writer vended by a {@link WritableStream}.\n *\n * @public\n */\nexport class WritableStreamDefaultWriter {\n /** @internal */\n _ownerWritableStream: WritableStream;\n /** @internal */\n _closedPromise!: Promise;\n /** @internal */\n _closedPromise_resolve?: (value?: undefined) => void;\n /** @internal */\n _closedPromise_reject?: (reason: any) => void;\n /** @internal */\n _closedPromiseState!: 'pending' | 'resolved' | 'rejected';\n /** @internal */\n _readyPromise!: Promise;\n /** @internal */\n _readyPromise_resolve?: (value?: undefined) => void;\n /** @internal */\n _readyPromise_reject?: (reason: any) => void;\n /** @internal */\n _readyPromiseState!: 'pending' | 'fulfilled' | 'rejected';\n\n constructor(stream: WritableStream) {\n assertRequiredArgument(stream, 1, 'WritableStreamDefaultWriter');\n assertWritableStream(stream, 'First parameter');\n\n if (IsWritableStreamLocked(stream)) {\n throw new TypeError('This stream has already been locked for exclusive writing by another writer');\n }\n\n this._ownerWritableStream = stream;\n stream._writer = this;\n\n const state = stream._state;\n\n if (state === 'writable') {\n if (!WritableStreamCloseQueuedOrInFlight(stream) && stream._backpressure) {\n defaultWriterReadyPromiseInitialize(this);\n } else {\n defaultWriterReadyPromiseInitializeAsResolved(this);\n }\n\n defaultWriterClosedPromiseInitialize(this);\n } else if (state === 'erroring') {\n defaultWriterReadyPromiseInitializeAsRejected(this, stream._storedError);\n defaultWriterClosedPromiseInitialize(this);\n } else if (state === 'closed') {\n defaultWriterReadyPromiseInitializeAsResolved(this);\n defaultWriterClosedPromiseInitializeAsResolved(this);\n } else {\n assert(state === 'errored');\n\n const storedError = stream._storedError;\n defaultWriterReadyPromiseInitializeAsRejected(this, storedError);\n defaultWriterClosedPromiseInitializeAsRejected(this, storedError);\n }\n }\n\n /**\n * Returns a promise that will be fulfilled when the stream becomes closed, or rejected if the stream ever errors or\n * the writer’s lock is released before the stream finishes closing.\n */\n get closed(): Promise {\n if (!IsWritableStreamDefaultWriter(this)) {\n return promiseRejectedWith(defaultWriterBrandCheckException('closed'));\n }\n\n return this._closedPromise;\n }\n\n /**\n * Returns the desired size to fill the stream’s internal queue. It can be negative, if the queue is over-full.\n * A producer can use this information to determine the right amount of data to write.\n *\n * It will be `null` if the stream cannot be successfully written to (due to either being errored, or having an abort\n * queued up). It will return zero if the stream is closed. And the getter will throw an exception if invoked when\n * the writer’s lock is released.\n */\n get desiredSize(): number | null {\n if (!IsWritableStreamDefaultWriter(this)) {\n throw defaultWriterBrandCheckException('desiredSize');\n }\n\n if (this._ownerWritableStream === undefined) {\n throw defaultWriterLockException('desiredSize');\n }\n\n return WritableStreamDefaultWriterGetDesiredSize(this);\n }\n\n /**\n * Returns a promise that will be fulfilled when the desired size to fill the stream’s internal queue transitions\n * from non-positive to positive, signaling that it is no longer applying backpressure. Once the desired size dips\n * back to zero or below, the getter will return a new promise that stays pending until the next transition.\n *\n * If the stream becomes errored or aborted, or the writer’s lock is released, the returned promise will become\n * rejected.\n */\n get ready(): Promise {\n if (!IsWritableStreamDefaultWriter(this)) {\n return promiseRejectedWith(defaultWriterBrandCheckException('ready'));\n }\n\n return this._readyPromise;\n }\n\n /**\n * If the reader is active, behaves the same as {@link WritableStream.abort | stream.abort(reason)}.\n */\n abort(reason: any = undefined): Promise {\n if (!IsWritableStreamDefaultWriter(this)) {\n return promiseRejectedWith(defaultWriterBrandCheckException('abort'));\n }\n\n if (this._ownerWritableStream === undefined) {\n return promiseRejectedWith(defaultWriterLockException('abort'));\n }\n\n return WritableStreamDefaultWriterAbort(this, reason);\n }\n\n /**\n * If the reader is active, behaves the same as {@link WritableStream.close | stream.close()}.\n */\n close(): Promise {\n if (!IsWritableStreamDefaultWriter(this)) {\n return promiseRejectedWith(defaultWriterBrandCheckException('close'));\n }\n\n const stream = this._ownerWritableStream;\n\n if (stream === undefined) {\n return promiseRejectedWith(defaultWriterLockException('close'));\n }\n\n if (WritableStreamCloseQueuedOrInFlight(stream)) {\n return promiseRejectedWith(new TypeError('Cannot close an already-closing stream'));\n }\n\n return WritableStreamDefaultWriterClose(this);\n }\n\n /**\n * Releases the writer’s lock on the corresponding stream. After the lock is released, the writer is no longer active.\n * If the associated stream is errored when the lock is released, the writer will appear errored in the same way from\n * now on; otherwise, the writer will appear closed.\n *\n * Note that the lock can still be released even if some ongoing writes have not yet finished (i.e. even if the\n * promises returned from previous calls to {@link WritableStreamDefaultWriter.write | write()} have not yet settled).\n * It’s not necessary to hold the lock on the writer for the duration of the write; the lock instead simply prevents\n * other producers from writing in an interleaved manner.\n */\n releaseLock(): void {\n if (!IsWritableStreamDefaultWriter(this)) {\n throw defaultWriterBrandCheckException('releaseLock');\n }\n\n const stream = this._ownerWritableStream;\n\n if (stream === undefined) {\n return;\n }\n\n assert(stream._writer !== undefined);\n\n WritableStreamDefaultWriterRelease(this);\n }\n\n /**\n * Writes the given chunk to the writable stream, by waiting until any previous writes have finished successfully,\n * and then sending the chunk to the underlying sink's {@link UnderlyingSink.write | write()} method. It will return\n * a promise that fulfills with undefined upon a successful write, or rejects if the write fails or stream becomes\n * errored before the writing process is initiated.\n *\n * Note that what \"success\" means is up to the underlying sink; it might indicate simply that the chunk has been\n * accepted, and not necessarily that it is safely saved to its ultimate destination.\n */\n write(chunk: W): Promise;\n write(chunk: W = undefined!): Promise {\n if (!IsWritableStreamDefaultWriter(this)) {\n return promiseRejectedWith(defaultWriterBrandCheckException('write'));\n }\n\n if (this._ownerWritableStream === undefined) {\n return promiseRejectedWith(defaultWriterLockException('write to'));\n }\n\n return WritableStreamDefaultWriterWrite(this, chunk);\n }\n}\n\nObject.defineProperties(WritableStreamDefaultWriter.prototype, {\n abort: { enumerable: true },\n close: { enumerable: true },\n releaseLock: { enumerable: true },\n write: { enumerable: true },\n closed: { enumerable: true },\n desiredSize: { enumerable: true },\n ready: { enumerable: true }\n});\nif (typeof Symbol.toStringTag === 'symbol') {\n Object.defineProperty(WritableStreamDefaultWriter.prototype, Symbol.toStringTag, {\n value: 'WritableStreamDefaultWriter',\n configurable: true\n });\n}\n\n// Abstract operations for the WritableStreamDefaultWriter.\n\nfunction IsWritableStreamDefaultWriter(x: any): x is WritableStreamDefaultWriter {\n if (!typeIsObject(x)) {\n return false;\n }\n\n if (!Object.prototype.hasOwnProperty.call(x, '_ownerWritableStream')) {\n return false;\n }\n\n return x instanceof WritableStreamDefaultWriter;\n}\n\n// A client of WritableStreamDefaultWriter may use these functions directly to bypass state check.\n\nfunction WritableStreamDefaultWriterAbort(writer: WritableStreamDefaultWriter, reason: any) {\n const stream = writer._ownerWritableStream;\n\n assert(stream !== undefined);\n\n return WritableStreamAbort(stream, reason);\n}\n\nfunction WritableStreamDefaultWriterClose(writer: WritableStreamDefaultWriter): Promise {\n const stream = writer._ownerWritableStream;\n\n assert(stream !== undefined);\n\n return WritableStreamClose(stream);\n}\n\nfunction WritableStreamDefaultWriterCloseWithErrorPropagation(writer: WritableStreamDefaultWriter): Promise {\n const stream = writer._ownerWritableStream;\n\n assert(stream !== undefined);\n\n const state = stream._state;\n if (WritableStreamCloseQueuedOrInFlight(stream) || state === 'closed') {\n return promiseResolvedWith(undefined);\n }\n\n if (state === 'errored') {\n return promiseRejectedWith(stream._storedError);\n }\n\n assert(state === 'writable' || state === 'erroring');\n\n return WritableStreamDefaultWriterClose(writer);\n}\n\nfunction WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer: WritableStreamDefaultWriter, error: any) {\n if (writer._closedPromiseState === 'pending') {\n defaultWriterClosedPromiseReject(writer, error);\n } else {\n defaultWriterClosedPromiseResetToRejected(writer, error);\n }\n}\n\nfunction WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer: WritableStreamDefaultWriter, error: any) {\n if (writer._readyPromiseState === 'pending') {\n defaultWriterReadyPromiseReject(writer, error);\n } else {\n defaultWriterReadyPromiseResetToRejected(writer, error);\n }\n}\n\nfunction WritableStreamDefaultWriterGetDesiredSize(writer: WritableStreamDefaultWriter): number | null {\n const stream = writer._ownerWritableStream;\n const state = stream._state;\n\n if (state === 'errored' || state === 'erroring') {\n return null;\n }\n\n if (state === 'closed') {\n return 0;\n }\n\n return WritableStreamDefaultControllerGetDesiredSize(stream._writableStreamController);\n}\n\nfunction WritableStreamDefaultWriterRelease(writer: WritableStreamDefaultWriter) {\n const stream = writer._ownerWritableStream;\n assert(stream !== undefined);\n assert(stream._writer === writer);\n\n const releasedError = new TypeError(\n `Writer was released and can no longer be used to monitor the stream's closedness`);\n\n WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, releasedError);\n\n // The state transitions to \"errored\" before the sink abort() method runs, but the writer.closed promise is not\n // rejected until afterwards. This means that simply testing state will not work.\n WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, releasedError);\n\n stream._writer = undefined;\n writer._ownerWritableStream = undefined!;\n}\n\nfunction WritableStreamDefaultWriterWrite(writer: WritableStreamDefaultWriter, chunk: W): Promise {\n const stream = writer._ownerWritableStream;\n\n assert(stream !== undefined);\n\n const controller = stream._writableStreamController;\n\n const chunkSize = WritableStreamDefaultControllerGetChunkSize(controller, chunk);\n\n if (stream !== writer._ownerWritableStream) {\n return promiseRejectedWith(defaultWriterLockException('write to'));\n }\n\n const state = stream._state;\n if (state === 'errored') {\n return promiseRejectedWith(stream._storedError);\n }\n if (WritableStreamCloseQueuedOrInFlight(stream) || state === 'closed') {\n return promiseRejectedWith(new TypeError('The stream is closing or closed and cannot be written to'));\n }\n if (state === 'erroring') {\n return promiseRejectedWith(stream._storedError);\n }\n\n assert(state === 'writable');\n\n const promise = WritableStreamAddWriteRequest(stream);\n\n WritableStreamDefaultControllerWrite(controller, chunk, chunkSize);\n\n return promise;\n}\n\nconst closeSentinel: unique symbol = {} as any;\n\ntype QueueRecord = W | typeof closeSentinel;\n\n/**\n * Allows control of a {@link WritableStream | writable stream}'s state and internal queue.\n *\n * @public\n */\nexport class WritableStreamDefaultController {\n /** @internal */\n _controlledWritableStream!: WritableStream;\n /** @internal */\n _queue!: SimpleQueue>>;\n /** @internal */\n _queueTotalSize!: number;\n /** @internal */\n _abortReason: any;\n /** @internal */\n _abortController: AbortController | undefined;\n /** @internal */\n _started!: boolean;\n /** @internal */\n _strategySizeAlgorithm!: QueuingStrategySizeCallback;\n /** @internal */\n _strategyHWM!: number;\n /** @internal */\n _writeAlgorithm!: (chunk: W) => Promise;\n /** @internal */\n _closeAlgorithm!: () => Promise;\n /** @internal */\n _abortAlgorithm!: (reason: any) => Promise;\n\n private constructor() {\n throw new TypeError('Illegal constructor');\n }\n\n /**\n * The reason which was passed to `WritableStream.abort(reason)` when the stream was aborted.\n *\n * @deprecated\n * This property has been removed from the specification, see https://github.com/whatwg/streams/pull/1177.\n * Use {@link WritableStreamDefaultController.signal}'s `reason` instead.\n */\n get abortReason(): any {\n if (!IsWritableStreamDefaultController(this)) {\n throw defaultControllerBrandCheckException('abortReason');\n }\n return this._abortReason;\n }\n\n /**\n * An `AbortSignal` that can be used to abort the pending write or close operation when the stream is aborted.\n */\n get signal(): AbortSignal {\n if (!IsWritableStreamDefaultController(this)) {\n throw defaultControllerBrandCheckException('signal');\n }\n if (this._abortController === undefined) {\n // Older browsers or older Node versions may not support `AbortController` or `AbortSignal`.\n // We don't want to bundle and ship an `AbortController` polyfill together with our polyfill,\n // so instead we only implement support for `signal` if we find a global `AbortController` constructor.\n throw new TypeError('WritableStreamDefaultController.prototype.signal is not supported');\n }\n return this._abortController.signal;\n }\n\n /**\n * Closes the controlled writable stream, making all future interactions with it fail with the given error `e`.\n *\n * This method is rarely used, since usually it suffices to return a rejected promise from one of the underlying\n * sink's methods. However, it can be useful for suddenly shutting down a stream in response to an event outside the\n * normal lifecycle of interactions with the underlying sink.\n */\n error(e: any = undefined): void {\n if (!IsWritableStreamDefaultController(this)) {\n throw defaultControllerBrandCheckException('error');\n }\n const state = this._controlledWritableStream._state;\n if (state !== 'writable') {\n // The stream is closed, errored or will be soon. The sink can't do anything useful if it gets an error here, so\n // just treat it as a no-op.\n return;\n }\n\n WritableStreamDefaultControllerError(this, e);\n }\n\n /** @internal */\n [AbortSteps](reason: any): Promise {\n const result = this._abortAlgorithm(reason);\n WritableStreamDefaultControllerClearAlgorithms(this);\n return result;\n }\n\n /** @internal */\n [ErrorSteps]() {\n ResetQueue(this);\n }\n}\n\nObject.defineProperties(WritableStreamDefaultController.prototype, {\n abortReason: { enumerable: true },\n signal: { enumerable: true },\n error: { enumerable: true }\n});\nif (typeof Symbol.toStringTag === 'symbol') {\n Object.defineProperty(WritableStreamDefaultController.prototype, Symbol.toStringTag, {\n value: 'WritableStreamDefaultController',\n configurable: true\n });\n}\n\n// Abstract operations implementing interface required by the WritableStream.\n\nfunction IsWritableStreamDefaultController(x: any): x is WritableStreamDefaultController {\n if (!typeIsObject(x)) {\n return false;\n }\n\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledWritableStream')) {\n return false;\n }\n\n return x instanceof WritableStreamDefaultController;\n}\n\nfunction SetUpWritableStreamDefaultController(stream: WritableStream,\n controller: WritableStreamDefaultController,\n startAlgorithm: () => void | PromiseLike,\n writeAlgorithm: (chunk: W) => Promise,\n closeAlgorithm: () => Promise,\n abortAlgorithm: (reason: any) => Promise,\n highWaterMark: number,\n sizeAlgorithm: QueuingStrategySizeCallback) {\n assert(IsWritableStream(stream));\n assert(stream._writableStreamController === undefined);\n\n controller._controlledWritableStream = stream;\n stream._writableStreamController = controller;\n\n // Need to set the slots so that the assert doesn't fire. In the spec the slots already exist implicitly.\n controller._queue = undefined!;\n controller._queueTotalSize = undefined!;\n ResetQueue(controller);\n\n controller._abortReason = undefined;\n controller._abortController = createAbortController();\n controller._started = false;\n\n controller._strategySizeAlgorithm = sizeAlgorithm;\n controller._strategyHWM = highWaterMark;\n\n controller._writeAlgorithm = writeAlgorithm;\n controller._closeAlgorithm = closeAlgorithm;\n controller._abortAlgorithm = abortAlgorithm;\n\n const backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\n WritableStreamUpdateBackpressure(stream, backpressure);\n\n const startResult = startAlgorithm();\n const startPromise = promiseResolvedWith(startResult);\n uponPromise(\n startPromise,\n () => {\n assert(stream._state === 'writable' || stream._state === 'erroring');\n controller._started = true;\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n },\n r => {\n assert(stream._state === 'writable' || stream._state === 'erroring');\n controller._started = true;\n WritableStreamDealWithRejection(stream, r);\n }\n );\n}\n\nfunction SetUpWritableStreamDefaultControllerFromUnderlyingSink(stream: WritableStream,\n underlyingSink: ValidatedUnderlyingSink,\n highWaterMark: number,\n sizeAlgorithm: QueuingStrategySizeCallback) {\n const controller = Object.create(WritableStreamDefaultController.prototype);\n\n let startAlgorithm: () => void | PromiseLike = () => undefined;\n let writeAlgorithm: (chunk: W) => Promise = () => promiseResolvedWith(undefined);\n let closeAlgorithm: () => Promise = () => promiseResolvedWith(undefined);\n let abortAlgorithm: (reason: any) => Promise = () => promiseResolvedWith(undefined);\n\n if (underlyingSink.start !== undefined) {\n startAlgorithm = () => underlyingSink.start!(controller);\n }\n if (underlyingSink.write !== undefined) {\n writeAlgorithm = chunk => underlyingSink.write!(chunk, controller);\n }\n if (underlyingSink.close !== undefined) {\n closeAlgorithm = () => underlyingSink.close!();\n }\n if (underlyingSink.abort !== undefined) {\n abortAlgorithm = reason => underlyingSink.abort!(reason);\n }\n\n SetUpWritableStreamDefaultController(\n stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm\n );\n}\n\n// ClearAlgorithms may be called twice. Erroring the same stream in multiple ways will often result in redundant calls.\nfunction WritableStreamDefaultControllerClearAlgorithms(controller: WritableStreamDefaultController) {\n controller._writeAlgorithm = undefined!;\n controller._closeAlgorithm = undefined!;\n controller._abortAlgorithm = undefined!;\n controller._strategySizeAlgorithm = undefined!;\n}\n\nfunction WritableStreamDefaultControllerClose(controller: WritableStreamDefaultController) {\n EnqueueValueWithSize(controller, closeSentinel, 0);\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n}\n\nfunction WritableStreamDefaultControllerGetChunkSize(controller: WritableStreamDefaultController,\n chunk: W): number {\n try {\n return controller._strategySizeAlgorithm(chunk);\n } catch (chunkSizeE) {\n WritableStreamDefaultControllerErrorIfNeeded(controller, chunkSizeE);\n return 1;\n }\n}\n\nfunction WritableStreamDefaultControllerGetDesiredSize(controller: WritableStreamDefaultController): number {\n return controller._strategyHWM - controller._queueTotalSize;\n}\n\nfunction WritableStreamDefaultControllerWrite(controller: WritableStreamDefaultController,\n chunk: W,\n chunkSize: number) {\n try {\n EnqueueValueWithSize(controller, chunk, chunkSize);\n } catch (enqueueE) {\n WritableStreamDefaultControllerErrorIfNeeded(controller, enqueueE);\n return;\n }\n\n const stream = controller._controlledWritableStream;\n if (!WritableStreamCloseQueuedOrInFlight(stream) && stream._state === 'writable') {\n const backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\n WritableStreamUpdateBackpressure(stream, backpressure);\n }\n\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n}\n\n// Abstract operations for the WritableStreamDefaultController.\n\nfunction WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller: WritableStreamDefaultController) {\n const stream = controller._controlledWritableStream;\n\n if (!controller._started) {\n return;\n }\n\n if (stream._inFlightWriteRequest !== undefined) {\n return;\n }\n\n const state = stream._state;\n assert(state !== 'closed' && state !== 'errored');\n if (state === 'erroring') {\n WritableStreamFinishErroring(stream);\n return;\n }\n\n if (controller._queue.length === 0) {\n return;\n }\n\n const value = PeekQueueValue(controller);\n if (value === closeSentinel) {\n WritableStreamDefaultControllerProcessClose(controller);\n } else {\n WritableStreamDefaultControllerProcessWrite(controller, value);\n }\n}\n\nfunction WritableStreamDefaultControllerErrorIfNeeded(controller: WritableStreamDefaultController, error: any) {\n if (controller._controlledWritableStream._state === 'writable') {\n WritableStreamDefaultControllerError(controller, error);\n }\n}\n\nfunction WritableStreamDefaultControllerProcessClose(controller: WritableStreamDefaultController) {\n const stream = controller._controlledWritableStream;\n\n WritableStreamMarkCloseRequestInFlight(stream);\n\n DequeueValue(controller);\n assert(controller._queue.length === 0);\n\n const sinkClosePromise = controller._closeAlgorithm();\n WritableStreamDefaultControllerClearAlgorithms(controller);\n uponPromise(\n sinkClosePromise,\n () => {\n WritableStreamFinishInFlightClose(stream);\n },\n reason => {\n WritableStreamFinishInFlightCloseWithError(stream, reason);\n }\n );\n}\n\nfunction WritableStreamDefaultControllerProcessWrite(controller: WritableStreamDefaultController, chunk: W) {\n const stream = controller._controlledWritableStream;\n\n WritableStreamMarkFirstWriteRequestInFlight(stream);\n\n const sinkWritePromise = controller._writeAlgorithm(chunk);\n uponPromise(\n sinkWritePromise,\n () => {\n WritableStreamFinishInFlightWrite(stream);\n\n const state = stream._state;\n assert(state === 'writable' || state === 'erroring');\n\n DequeueValue(controller);\n\n if (!WritableStreamCloseQueuedOrInFlight(stream) && state === 'writable') {\n const backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\n WritableStreamUpdateBackpressure(stream, backpressure);\n }\n\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n },\n reason => {\n if (stream._state === 'writable') {\n WritableStreamDefaultControllerClearAlgorithms(controller);\n }\n WritableStreamFinishInFlightWriteWithError(stream, reason);\n }\n );\n}\n\nfunction WritableStreamDefaultControllerGetBackpressure(controller: WritableStreamDefaultController): boolean {\n const desiredSize = WritableStreamDefaultControllerGetDesiredSize(controller);\n return desiredSize <= 0;\n}\n\n// A client of WritableStreamDefaultController may use these functions directly to bypass state check.\n\nfunction WritableStreamDefaultControllerError(controller: WritableStreamDefaultController, error: any) {\n const stream = controller._controlledWritableStream;\n\n assert(stream._state === 'writable');\n\n WritableStreamDefaultControllerClearAlgorithms(controller);\n WritableStreamStartErroring(stream, error);\n}\n\n// Helper functions for the WritableStream.\n\nfunction streamBrandCheckException(name: string): TypeError {\n return new TypeError(`WritableStream.prototype.${name} can only be used on a WritableStream`);\n}\n\n// Helper functions for the WritableStreamDefaultController.\n\nfunction defaultControllerBrandCheckException(name: string): TypeError {\n return new TypeError(\n `WritableStreamDefaultController.prototype.${name} can only be used on a WritableStreamDefaultController`);\n}\n\n\n// Helper functions for the WritableStreamDefaultWriter.\n\nfunction defaultWriterBrandCheckException(name: string): TypeError {\n return new TypeError(\n `WritableStreamDefaultWriter.prototype.${name} can only be used on a WritableStreamDefaultWriter`);\n}\n\nfunction defaultWriterLockException(name: string): TypeError {\n return new TypeError('Cannot ' + name + ' a stream using a released writer');\n}\n\nfunction defaultWriterClosedPromiseInitialize(writer: WritableStreamDefaultWriter) {\n writer._closedPromise = newPromise((resolve, reject) => {\n writer._closedPromise_resolve = resolve;\n writer._closedPromise_reject = reject;\n writer._closedPromiseState = 'pending';\n });\n}\n\nfunction defaultWriterClosedPromiseInitializeAsRejected(writer: WritableStreamDefaultWriter, reason: any) {\n defaultWriterClosedPromiseInitialize(writer);\n defaultWriterClosedPromiseReject(writer, reason);\n}\n\nfunction defaultWriterClosedPromiseInitializeAsResolved(writer: WritableStreamDefaultWriter) {\n defaultWriterClosedPromiseInitialize(writer);\n defaultWriterClosedPromiseResolve(writer);\n}\n\nfunction defaultWriterClosedPromiseReject(writer: WritableStreamDefaultWriter, reason: any) {\n if (writer._closedPromise_reject === undefined) {\n return;\n }\n assert(writer._closedPromiseState === 'pending');\n\n setPromiseIsHandledToTrue(writer._closedPromise);\n writer._closedPromise_reject(reason);\n writer._closedPromise_resolve = undefined;\n writer._closedPromise_reject = undefined;\n writer._closedPromiseState = 'rejected';\n}\n\nfunction defaultWriterClosedPromiseResetToRejected(writer: WritableStreamDefaultWriter, reason: any) {\n assert(writer._closedPromise_resolve === undefined);\n assert(writer._closedPromise_reject === undefined);\n assert(writer._closedPromiseState !== 'pending');\n\n defaultWriterClosedPromiseInitializeAsRejected(writer, reason);\n}\n\nfunction defaultWriterClosedPromiseResolve(writer: WritableStreamDefaultWriter) {\n if (writer._closedPromise_resolve === undefined) {\n return;\n }\n assert(writer._closedPromiseState === 'pending');\n\n writer._closedPromise_resolve(undefined);\n writer._closedPromise_resolve = undefined;\n writer._closedPromise_reject = undefined;\n writer._closedPromiseState = 'resolved';\n}\n\nfunction defaultWriterReadyPromiseInitialize(writer: WritableStreamDefaultWriter) {\n writer._readyPromise = newPromise((resolve, reject) => {\n writer._readyPromise_resolve = resolve;\n writer._readyPromise_reject = reject;\n });\n writer._readyPromiseState = 'pending';\n}\n\nfunction defaultWriterReadyPromiseInitializeAsRejected(writer: WritableStreamDefaultWriter, reason: any) {\n defaultWriterReadyPromiseInitialize(writer);\n defaultWriterReadyPromiseReject(writer, reason);\n}\n\nfunction defaultWriterReadyPromiseInitializeAsResolved(writer: WritableStreamDefaultWriter) {\n defaultWriterReadyPromiseInitialize(writer);\n defaultWriterReadyPromiseResolve(writer);\n}\n\nfunction defaultWriterReadyPromiseReject(writer: WritableStreamDefaultWriter, reason: any) {\n if (writer._readyPromise_reject === undefined) {\n return;\n }\n\n setPromiseIsHandledToTrue(writer._readyPromise);\n writer._readyPromise_reject(reason);\n writer._readyPromise_resolve = undefined;\n writer._readyPromise_reject = undefined;\n writer._readyPromiseState = 'rejected';\n}\n\nfunction defaultWriterReadyPromiseReset(writer: WritableStreamDefaultWriter) {\n assert(writer._readyPromise_resolve === undefined);\n assert(writer._readyPromise_reject === undefined);\n\n defaultWriterReadyPromiseInitialize(writer);\n}\n\nfunction defaultWriterReadyPromiseResetToRejected(writer: WritableStreamDefaultWriter, reason: any) {\n assert(writer._readyPromise_resolve === undefined);\n assert(writer._readyPromise_reject === undefined);\n\n defaultWriterReadyPromiseInitializeAsRejected(writer, reason);\n}\n\nfunction defaultWriterReadyPromiseResolve(writer: WritableStreamDefaultWriter) {\n if (writer._readyPromise_resolve === undefined) {\n return;\n }\n\n writer._readyPromise_resolve(undefined);\n writer._readyPromise_resolve = undefined;\n writer._readyPromise_reject = undefined;\n writer._readyPromiseState = 'fulfilled';\n}\n","/// \nexport const NativeDOMException: typeof DOMException | undefined =\n typeof DOMException !== 'undefined' ? DOMException : undefined;\n","/// \nimport { NativeDOMException } from './native';\n\ndeclare class DOMExceptionClass extends Error {\n constructor(message?: string, name?: string);\n\n name: string;\n message: string;\n}\n\ntype DOMException = DOMExceptionClass;\ntype DOMExceptionConstructor = typeof DOMExceptionClass;\n\nfunction isDOMExceptionConstructor(ctor: unknown): ctor is DOMExceptionConstructor {\n if (!(typeof ctor === 'function' || typeof ctor === 'object')) {\n return false;\n }\n try {\n new (ctor as DOMExceptionConstructor)();\n return true;\n } catch {\n return false;\n }\n}\n\nfunction createDOMExceptionPolyfill(): DOMExceptionConstructor {\n // eslint-disable-next-line no-shadow\n const ctor = function DOMException(this: DOMException, message?: string, name?: string) {\n this.message = message || '';\n this.name = name || 'Error';\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n } as any;\n ctor.prototype = Object.create(Error.prototype);\n Object.defineProperty(ctor.prototype, 'constructor', { value: ctor, writable: true, configurable: true });\n return ctor;\n}\n\n// eslint-disable-next-line no-redeclare\nconst DOMException: DOMExceptionConstructor =\n isDOMExceptionConstructor(NativeDOMException) ? NativeDOMException : createDOMExceptionPolyfill();\n\nexport { DOMException };\n","import { IsReadableStream, IsReadableStreamLocked, ReadableStream, ReadableStreamCancel } from '../readable-stream';\nimport { AcquireReadableStreamDefaultReader, ReadableStreamDefaultReaderRead } from './default-reader';\nimport { ReadableStreamReaderGenericRelease } from './generic-reader';\nimport {\n AcquireWritableStreamDefaultWriter,\n IsWritableStream,\n IsWritableStreamLocked,\n WritableStream,\n WritableStreamAbort,\n WritableStreamCloseQueuedOrInFlight,\n WritableStreamDefaultWriterCloseWithErrorPropagation,\n WritableStreamDefaultWriterRelease,\n WritableStreamDefaultWriterWrite\n} from '../writable-stream';\nimport assert from '../../stub/assert';\nimport {\n newPromise,\n PerformPromiseThen,\n promiseResolvedWith,\n setPromiseIsHandledToTrue,\n uponFulfillment,\n uponPromise,\n uponRejection\n} from '../helpers/webidl';\nimport { noop } from '../../utils';\nimport { AbortSignal, isAbortSignal } from '../abort-signal';\nimport { DOMException } from '../../stub/dom-exception';\n\nexport function ReadableStreamPipeTo(source: ReadableStream,\n dest: WritableStream,\n preventClose: boolean,\n preventAbort: boolean,\n preventCancel: boolean,\n signal: AbortSignal | undefined): Promise {\n assert(IsReadableStream(source));\n assert(IsWritableStream(dest));\n assert(typeof preventClose === 'boolean');\n assert(typeof preventAbort === 'boolean');\n assert(typeof preventCancel === 'boolean');\n assert(signal === undefined || isAbortSignal(signal));\n assert(!IsReadableStreamLocked(source));\n assert(!IsWritableStreamLocked(dest));\n\n const reader = AcquireReadableStreamDefaultReader(source);\n const writer = AcquireWritableStreamDefaultWriter(dest);\n\n source._disturbed = true;\n\n let shuttingDown = false;\n\n // This is used to keep track of the spec's requirement that we wait for ongoing writes during shutdown.\n let currentWrite = promiseResolvedWith(undefined);\n\n return newPromise((resolve, reject) => {\n let abortAlgorithm: () => void;\n if (signal !== undefined) {\n abortAlgorithm = () => {\n const error = new DOMException('Aborted', 'AbortError');\n const actions: Array<() => Promise> = [];\n if (!preventAbort) {\n actions.push(() => {\n if (dest._state === 'writable') {\n return WritableStreamAbort(dest, error);\n }\n return promiseResolvedWith(undefined);\n });\n }\n if (!preventCancel) {\n actions.push(() => {\n if (source._state === 'readable') {\n return ReadableStreamCancel(source, error);\n }\n return promiseResolvedWith(undefined);\n });\n }\n shutdownWithAction(() => Promise.all(actions.map(action => action())), true, error);\n };\n\n if (signal.aborted) {\n abortAlgorithm();\n return;\n }\n\n signal.addEventListener('abort', abortAlgorithm);\n }\n\n // Using reader and writer, read all chunks from this and write them to dest\n // - Backpressure must be enforced\n // - Shutdown must stop all activity\n function pipeLoop() {\n return newPromise((resolveLoop, rejectLoop) => {\n function next(done: boolean) {\n if (done) {\n resolveLoop();\n } else {\n // Use `PerformPromiseThen` instead of `uponPromise` to avoid\n // adding unnecessary `.catch(rethrowAssertionErrorRejection)` handlers\n PerformPromiseThen(pipeStep(), next, rejectLoop);\n }\n }\n\n next(false);\n });\n }\n\n function pipeStep(): Promise {\n if (shuttingDown) {\n return promiseResolvedWith(true);\n }\n\n return PerformPromiseThen(writer._readyPromise, () => {\n return newPromise((resolveRead, rejectRead) => {\n ReadableStreamDefaultReaderRead(\n reader,\n {\n _chunkSteps: chunk => {\n currentWrite = PerformPromiseThen(WritableStreamDefaultWriterWrite(writer, chunk), undefined, noop);\n resolveRead(false);\n },\n _closeSteps: () => resolveRead(true),\n _errorSteps: rejectRead\n }\n );\n });\n });\n }\n\n // Errors must be propagated forward\n isOrBecomesErrored(source, reader._closedPromise, storedError => {\n if (!preventAbort) {\n shutdownWithAction(() => WritableStreamAbort(dest, storedError), true, storedError);\n } else {\n shutdown(true, storedError);\n }\n });\n\n // Errors must be propagated backward\n isOrBecomesErrored(dest, writer._closedPromise, storedError => {\n if (!preventCancel) {\n shutdownWithAction(() => ReadableStreamCancel(source, storedError), true, storedError);\n } else {\n shutdown(true, storedError);\n }\n });\n\n // Closing must be propagated forward\n isOrBecomesClosed(source, reader._closedPromise, () => {\n if (!preventClose) {\n shutdownWithAction(() => WritableStreamDefaultWriterCloseWithErrorPropagation(writer));\n } else {\n shutdown();\n }\n });\n\n // Closing must be propagated backward\n if (WritableStreamCloseQueuedOrInFlight(dest) || dest._state === 'closed') {\n const destClosed = new TypeError('the destination writable stream closed before all data could be piped to it');\n\n if (!preventCancel) {\n shutdownWithAction(() => ReadableStreamCancel(source, destClosed), true, destClosed);\n } else {\n shutdown(true, destClosed);\n }\n }\n\n setPromiseIsHandledToTrue(pipeLoop());\n\n function waitForWritesToFinish(): Promise {\n // Another write may have started while we were waiting on this currentWrite, so we have to be sure to wait\n // for that too.\n const oldCurrentWrite = currentWrite;\n return PerformPromiseThen(\n currentWrite,\n () => oldCurrentWrite !== currentWrite ? waitForWritesToFinish() : undefined\n );\n }\n\n function isOrBecomesErrored(stream: ReadableStream | WritableStream,\n promise: Promise,\n action: (reason: any) => void) {\n if (stream._state === 'errored') {\n action(stream._storedError);\n } else {\n uponRejection(promise, action);\n }\n }\n\n function isOrBecomesClosed(stream: ReadableStream | WritableStream, promise: Promise, action: () => void) {\n if (stream._state === 'closed') {\n action();\n } else {\n uponFulfillment(promise, action);\n }\n }\n\n function shutdownWithAction(action: () => Promise, originalIsError?: boolean, originalError?: any) {\n if (shuttingDown) {\n return;\n }\n shuttingDown = true;\n\n if (dest._state === 'writable' && !WritableStreamCloseQueuedOrInFlight(dest)) {\n uponFulfillment(waitForWritesToFinish(), doTheRest);\n } else {\n doTheRest();\n }\n\n function doTheRest() {\n uponPromise(\n action(),\n () => finalize(originalIsError, originalError),\n newError => finalize(true, newError)\n );\n }\n }\n\n function shutdown(isError?: boolean, error?: any) {\n if (shuttingDown) {\n return;\n }\n shuttingDown = true;\n\n if (dest._state === 'writable' && !WritableStreamCloseQueuedOrInFlight(dest)) {\n uponFulfillment(waitForWritesToFinish(), () => finalize(isError, error));\n } else {\n finalize(isError, error);\n }\n }\n\n function finalize(isError?: boolean, error?: any) {\n WritableStreamDefaultWriterRelease(writer);\n ReadableStreamReaderGenericRelease(reader);\n\n if (signal !== undefined) {\n signal.removeEventListener('abort', abortAlgorithm);\n }\n if (isError) {\n reject(error);\n } else {\n resolve(undefined);\n }\n }\n });\n}\n","import { QueuingStrategySizeCallback } from '../queuing-strategy';\nimport assert from '../../stub/assert';\nimport { DequeueValue, EnqueueValueWithSize, QueuePair, ResetQueue } from '../abstract-ops/queue-with-sizes';\nimport {\n ReadableStreamAddReadRequest,\n ReadableStreamFulfillReadRequest,\n ReadableStreamGetNumReadRequests,\n ReadRequest\n} from './default-reader';\nimport { SimpleQueue } from '../simple-queue';\nimport { IsReadableStreamLocked, ReadableStream, ReadableStreamClose, ReadableStreamError } from '../readable-stream';\nimport { ValidatedUnderlyingSource } from './underlying-source';\nimport { typeIsObject } from '../helpers/miscellaneous';\nimport { CancelSteps, PullSteps } from '../abstract-ops/internal-methods';\nimport { promiseResolvedWith, uponPromise } from '../helpers/webidl';\n\n/**\n * Allows control of a {@link ReadableStream | readable stream}'s state and internal queue.\n *\n * @public\n */\nexport class ReadableStreamDefaultController {\n /** @internal */\n _controlledReadableStream!: ReadableStream;\n /** @internal */\n _queue!: SimpleQueue>;\n /** @internal */\n _queueTotalSize!: number;\n /** @internal */\n _started!: boolean;\n /** @internal */\n _closeRequested!: boolean;\n /** @internal */\n _pullAgain!: boolean;\n /** @internal */\n _pulling !: boolean;\n /** @internal */\n _strategySizeAlgorithm!: QueuingStrategySizeCallback;\n /** @internal */\n _strategyHWM!: number;\n /** @internal */\n _pullAlgorithm!: () => Promise;\n /** @internal */\n _cancelAlgorithm!: (reason: any) => Promise;\n\n private constructor() {\n throw new TypeError('Illegal constructor');\n }\n\n /**\n * Returns the desired size to fill the controlled stream's internal queue. It can be negative, if the queue is\n * over-full. An underlying source ought to use this information to determine when and how to apply backpressure.\n */\n get desiredSize(): number | null {\n if (!IsReadableStreamDefaultController(this)) {\n throw defaultControllerBrandCheckException('desiredSize');\n }\n\n return ReadableStreamDefaultControllerGetDesiredSize(this);\n }\n\n /**\n * Closes the controlled readable stream. Consumers will still be able to read any previously-enqueued chunks from\n * the stream, but once those are read, the stream will become closed.\n */\n close(): void {\n if (!IsReadableStreamDefaultController(this)) {\n throw defaultControllerBrandCheckException('close');\n }\n\n if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(this)) {\n throw new TypeError('The stream is not in a state that permits close');\n }\n\n ReadableStreamDefaultControllerClose(this);\n }\n\n /**\n * Enqueues the given chunk `chunk` in the controlled readable stream.\n */\n enqueue(chunk: R): void;\n enqueue(chunk: R = undefined!): void {\n if (!IsReadableStreamDefaultController(this)) {\n throw defaultControllerBrandCheckException('enqueue');\n }\n\n if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(this)) {\n throw new TypeError('The stream is not in a state that permits enqueue');\n }\n\n return ReadableStreamDefaultControllerEnqueue(this, chunk);\n }\n\n /**\n * Errors the controlled readable stream, making all future interactions with it fail with the given error `e`.\n */\n error(e: any = undefined): void {\n if (!IsReadableStreamDefaultController(this)) {\n throw defaultControllerBrandCheckException('error');\n }\n\n ReadableStreamDefaultControllerError(this, e);\n }\n\n /** @internal */\n [CancelSteps](reason: any): Promise {\n ResetQueue(this);\n const result = this._cancelAlgorithm(reason);\n ReadableStreamDefaultControllerClearAlgorithms(this);\n return result;\n }\n\n /** @internal */\n [PullSteps](readRequest: ReadRequest): void {\n const stream = this._controlledReadableStream;\n\n if (this._queue.length > 0) {\n const chunk = DequeueValue(this);\n\n if (this._closeRequested && this._queue.length === 0) {\n ReadableStreamDefaultControllerClearAlgorithms(this);\n ReadableStreamClose(stream);\n } else {\n ReadableStreamDefaultControllerCallPullIfNeeded(this);\n }\n\n readRequest._chunkSteps(chunk);\n } else {\n ReadableStreamAddReadRequest(stream, readRequest);\n ReadableStreamDefaultControllerCallPullIfNeeded(this);\n }\n }\n}\n\nObject.defineProperties(ReadableStreamDefaultController.prototype, {\n close: { enumerable: true },\n enqueue: { enumerable: true },\n error: { enumerable: true },\n desiredSize: { enumerable: true }\n});\nif (typeof Symbol.toStringTag === 'symbol') {\n Object.defineProperty(ReadableStreamDefaultController.prototype, Symbol.toStringTag, {\n value: 'ReadableStreamDefaultController',\n configurable: true\n });\n}\n\n// Abstract operations for the ReadableStreamDefaultController.\n\nfunction IsReadableStreamDefaultController(x: any): x is ReadableStreamDefaultController {\n if (!typeIsObject(x)) {\n return false;\n }\n\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledReadableStream')) {\n return false;\n }\n\n return x instanceof ReadableStreamDefaultController;\n}\n\nfunction ReadableStreamDefaultControllerCallPullIfNeeded(controller: ReadableStreamDefaultController): void {\n const shouldPull = ReadableStreamDefaultControllerShouldCallPull(controller);\n if (!shouldPull) {\n return;\n }\n\n if (controller._pulling) {\n controller._pullAgain = true;\n return;\n }\n\n assert(!controller._pullAgain);\n\n controller._pulling = true;\n\n const pullPromise = controller._pullAlgorithm();\n uponPromise(\n pullPromise,\n () => {\n controller._pulling = false;\n\n if (controller._pullAgain) {\n controller._pullAgain = false;\n ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n }\n },\n e => {\n ReadableStreamDefaultControllerError(controller, e);\n }\n );\n}\n\nfunction ReadableStreamDefaultControllerShouldCallPull(controller: ReadableStreamDefaultController): boolean {\n const stream = controller._controlledReadableStream;\n\n if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(controller)) {\n return false;\n }\n\n if (!controller._started) {\n return false;\n }\n\n if (IsReadableStreamLocked(stream) && ReadableStreamGetNumReadRequests(stream) > 0) {\n return true;\n }\n\n const desiredSize = ReadableStreamDefaultControllerGetDesiredSize(controller);\n assert(desiredSize !== null);\n if (desiredSize! > 0) {\n return true;\n }\n\n return false;\n}\n\nfunction ReadableStreamDefaultControllerClearAlgorithms(controller: ReadableStreamDefaultController) {\n controller._pullAlgorithm = undefined!;\n controller._cancelAlgorithm = undefined!;\n controller._strategySizeAlgorithm = undefined!;\n}\n\n// A client of ReadableStreamDefaultController may use these functions directly to bypass state check.\n\nexport function ReadableStreamDefaultControllerClose(controller: ReadableStreamDefaultController) {\n if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(controller)) {\n return;\n }\n\n const stream = controller._controlledReadableStream;\n\n controller._closeRequested = true;\n\n if (controller._queue.length === 0) {\n ReadableStreamDefaultControllerClearAlgorithms(controller);\n ReadableStreamClose(stream);\n }\n}\n\nexport function ReadableStreamDefaultControllerEnqueue(\n controller: ReadableStreamDefaultController,\n chunk: R\n): void {\n if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(controller)) {\n return;\n }\n\n const stream = controller._controlledReadableStream;\n\n if (IsReadableStreamLocked(stream) && ReadableStreamGetNumReadRequests(stream) > 0) {\n ReadableStreamFulfillReadRequest(stream, chunk, false);\n } else {\n let chunkSize;\n try {\n chunkSize = controller._strategySizeAlgorithm(chunk);\n } catch (chunkSizeE) {\n ReadableStreamDefaultControllerError(controller, chunkSizeE);\n throw chunkSizeE;\n }\n\n try {\n EnqueueValueWithSize(controller, chunk, chunkSize);\n } catch (enqueueE) {\n ReadableStreamDefaultControllerError(controller, enqueueE);\n throw enqueueE;\n }\n }\n\n ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n}\n\nexport function ReadableStreamDefaultControllerError(controller: ReadableStreamDefaultController, e: any) {\n const stream = controller._controlledReadableStream;\n\n if (stream._state !== 'readable') {\n return;\n }\n\n ResetQueue(controller);\n\n ReadableStreamDefaultControllerClearAlgorithms(controller);\n ReadableStreamError(stream, e);\n}\n\nexport function ReadableStreamDefaultControllerGetDesiredSize(\n controller: ReadableStreamDefaultController\n): number | null {\n const state = controller._controlledReadableStream._state;\n\n if (state === 'errored') {\n return null;\n }\n if (state === 'closed') {\n return 0;\n }\n\n return controller._strategyHWM - controller._queueTotalSize;\n}\n\n// This is used in the implementation of TransformStream.\nexport function ReadableStreamDefaultControllerHasBackpressure(\n controller: ReadableStreamDefaultController\n): boolean {\n if (ReadableStreamDefaultControllerShouldCallPull(controller)) {\n return false;\n }\n\n return true;\n}\n\nexport function ReadableStreamDefaultControllerCanCloseOrEnqueue(\n controller: ReadableStreamDefaultController\n): boolean {\n const state = controller._controlledReadableStream._state;\n\n if (!controller._closeRequested && state === 'readable') {\n return true;\n }\n\n return false;\n}\n\nexport function SetUpReadableStreamDefaultController(stream: ReadableStream,\n controller: ReadableStreamDefaultController,\n startAlgorithm: () => void | PromiseLike,\n pullAlgorithm: () => Promise,\n cancelAlgorithm: (reason: any) => Promise,\n highWaterMark: number,\n sizeAlgorithm: QueuingStrategySizeCallback) {\n assert(stream._readableStreamController === undefined);\n\n controller._controlledReadableStream = stream;\n\n controller._queue = undefined!;\n controller._queueTotalSize = undefined!;\n ResetQueue(controller);\n\n controller._started = false;\n controller._closeRequested = false;\n controller._pullAgain = false;\n controller._pulling = false;\n\n controller._strategySizeAlgorithm = sizeAlgorithm;\n controller._strategyHWM = highWaterMark;\n\n controller._pullAlgorithm = pullAlgorithm;\n controller._cancelAlgorithm = cancelAlgorithm;\n\n stream._readableStreamController = controller;\n\n const startResult = startAlgorithm();\n uponPromise(\n promiseResolvedWith(startResult),\n () => {\n controller._started = true;\n\n assert(!controller._pulling);\n assert(!controller._pullAgain);\n\n ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n },\n r => {\n ReadableStreamDefaultControllerError(controller, r);\n }\n );\n}\n\nexport function SetUpReadableStreamDefaultControllerFromUnderlyingSource(\n stream: ReadableStream,\n underlyingSource: ValidatedUnderlyingSource,\n highWaterMark: number,\n sizeAlgorithm: QueuingStrategySizeCallback\n) {\n const controller: ReadableStreamDefaultController = Object.create(ReadableStreamDefaultController.prototype);\n\n let startAlgorithm: () => void | PromiseLike = () => undefined;\n let pullAlgorithm: () => Promise = () => promiseResolvedWith(undefined);\n let cancelAlgorithm: (reason: any) => Promise = () => promiseResolvedWith(undefined);\n\n if (underlyingSource.start !== undefined) {\n startAlgorithm = () => underlyingSource.start!(controller);\n }\n if (underlyingSource.pull !== undefined) {\n pullAlgorithm = () => underlyingSource.pull!(controller);\n }\n if (underlyingSource.cancel !== undefined) {\n cancelAlgorithm = reason => underlyingSource.cancel!(reason);\n }\n\n SetUpReadableStreamDefaultController(\n stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm\n );\n}\n\n// Helper functions for the ReadableStreamDefaultController.\n\nfunction defaultControllerBrandCheckException(name: string): TypeError {\n return new TypeError(\n `ReadableStreamDefaultController.prototype.${name} can only be used on a ReadableStreamDefaultController`);\n}\n","import {\n CreateReadableByteStream,\n CreateReadableStream,\n IsReadableStream,\n ReadableByteStream,\n ReadableStream,\n ReadableStreamCancel,\n ReadableStreamReader\n} from '../readable-stream';\nimport { ReadableStreamReaderGenericRelease } from './generic-reader';\nimport {\n AcquireReadableStreamDefaultReader,\n IsReadableStreamDefaultReader,\n ReadableStreamDefaultReaderRead,\n ReadRequest\n} from './default-reader';\nimport {\n AcquireReadableStreamBYOBReader,\n IsReadableStreamBYOBReader,\n ReadableStreamBYOBReaderRead,\n ReadIntoRequest\n} from './byob-reader';\nimport assert from '../../stub/assert';\nimport { newPromise, promiseResolvedWith, queueMicrotask, uponRejection } from '../helpers/webidl';\nimport {\n ReadableStreamDefaultController,\n ReadableStreamDefaultControllerClose,\n ReadableStreamDefaultControllerEnqueue,\n ReadableStreamDefaultControllerError\n} from './default-controller';\nimport {\n IsReadableByteStreamController,\n ReadableByteStreamControllerClose,\n ReadableByteStreamControllerEnqueue,\n ReadableByteStreamControllerError,\n ReadableByteStreamControllerGetBYOBRequest,\n ReadableByteStreamControllerRespond,\n ReadableByteStreamControllerRespondWithNewView\n} from './byte-stream-controller';\nimport { CreateArrayFromList } from '../abstract-ops/ecmascript';\nimport { CloneAsUint8Array } from '../abstract-ops/miscellaneous';\n\nexport function ReadableStreamTee(stream: ReadableStream,\n cloneForBranch2: boolean): [ReadableStream, ReadableStream] {\n assert(IsReadableStream(stream));\n assert(typeof cloneForBranch2 === 'boolean');\n if (IsReadableByteStreamController(stream._readableStreamController)) {\n return ReadableByteStreamTee(stream as unknown as ReadableByteStream) as\n unknown as [ReadableStream, ReadableStream];\n }\n return ReadableStreamDefaultTee(stream, cloneForBranch2);\n}\n\nexport function ReadableStreamDefaultTee(stream: ReadableStream,\n cloneForBranch2: boolean): [ReadableStream, ReadableStream] {\n assert(IsReadableStream(stream));\n assert(typeof cloneForBranch2 === 'boolean');\n\n const reader = AcquireReadableStreamDefaultReader(stream);\n\n let reading = false;\n let readAgain = false;\n let canceled1 = false;\n let canceled2 = false;\n let reason1: any;\n let reason2: any;\n let branch1: ReadableStream;\n let branch2: ReadableStream;\n\n let resolveCancelPromise: (value: undefined | Promise) => void;\n const cancelPromise = newPromise(resolve => {\n resolveCancelPromise = resolve;\n });\n\n function pullAlgorithm(): Promise {\n if (reading) {\n readAgain = true;\n return promiseResolvedWith(undefined);\n }\n\n reading = true;\n\n const readRequest: ReadRequest = {\n _chunkSteps: chunk => {\n // This needs to be delayed a microtask because it takes at least a microtask to detect errors (using\n // reader._closedPromise below), and we want errors in stream to error both branches immediately. We cannot let\n // successful synchronously-available reads get ahead of asynchronously-available errors.\n queueMicrotask(() => {\n readAgain = false;\n const chunk1 = chunk;\n const chunk2 = chunk;\n\n // There is no way to access the cloning code right now in the reference implementation.\n // If we add one then we'll need an implementation for serializable objects.\n // if (!canceled2 && cloneForBranch2) {\n // chunk2 = StructuredDeserialize(StructuredSerialize(chunk2));\n // }\n\n if (!canceled1) {\n ReadableStreamDefaultControllerEnqueue(\n branch1._readableStreamController as ReadableStreamDefaultController,\n chunk1\n );\n }\n if (!canceled2) {\n ReadableStreamDefaultControllerEnqueue(\n branch2._readableStreamController as ReadableStreamDefaultController,\n chunk2\n );\n }\n\n reading = false;\n if (readAgain) {\n pullAlgorithm();\n }\n });\n },\n _closeSteps: () => {\n reading = false;\n if (!canceled1) {\n ReadableStreamDefaultControllerClose(branch1._readableStreamController as ReadableStreamDefaultController);\n }\n if (!canceled2) {\n ReadableStreamDefaultControllerClose(branch2._readableStreamController as ReadableStreamDefaultController);\n }\n\n if (!canceled1 || !canceled2) {\n resolveCancelPromise(undefined);\n }\n },\n _errorSteps: () => {\n reading = false;\n }\n };\n ReadableStreamDefaultReaderRead(reader, readRequest);\n\n return promiseResolvedWith(undefined);\n }\n\n function cancel1Algorithm(reason: any): Promise {\n canceled1 = true;\n reason1 = reason;\n if (canceled2) {\n const compositeReason = CreateArrayFromList([reason1, reason2]);\n const cancelResult = ReadableStreamCancel(stream, compositeReason);\n resolveCancelPromise(cancelResult);\n }\n return cancelPromise;\n }\n\n function cancel2Algorithm(reason: any): Promise {\n canceled2 = true;\n reason2 = reason;\n if (canceled1) {\n const compositeReason = CreateArrayFromList([reason1, reason2]);\n const cancelResult = ReadableStreamCancel(stream, compositeReason);\n resolveCancelPromise(cancelResult);\n }\n return cancelPromise;\n }\n\n function startAlgorithm() {\n // do nothing\n }\n\n branch1 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancel1Algorithm);\n branch2 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancel2Algorithm);\n\n uponRejection(reader._closedPromise, (r: any) => {\n ReadableStreamDefaultControllerError(branch1._readableStreamController as ReadableStreamDefaultController, r);\n ReadableStreamDefaultControllerError(branch2._readableStreamController as ReadableStreamDefaultController, r);\n if (!canceled1 || !canceled2) {\n resolveCancelPromise(undefined);\n }\n });\n\n return [branch1, branch2];\n}\n\nexport function ReadableByteStreamTee(stream: ReadableByteStream): [ReadableByteStream, ReadableByteStream] {\n assert(IsReadableStream(stream));\n assert(IsReadableByteStreamController(stream._readableStreamController));\n\n let reader: ReadableStreamReader = AcquireReadableStreamDefaultReader(stream);\n let reading = false;\n let readAgainForBranch1 = false;\n let readAgainForBranch2 = false;\n let canceled1 = false;\n let canceled2 = false;\n let reason1: any;\n let reason2: any;\n let branch1: ReadableByteStream;\n let branch2: ReadableByteStream;\n\n let resolveCancelPromise: (value: undefined | Promise) => void;\n const cancelPromise = newPromise(resolve => {\n resolveCancelPromise = resolve;\n });\n\n function forwardReaderError(thisReader: ReadableStreamReader) {\n uponRejection(thisReader._closedPromise, r => {\n if (thisReader !== reader) {\n return;\n }\n ReadableByteStreamControllerError(branch1._readableStreamController, r);\n ReadableByteStreamControllerError(branch2._readableStreamController, r);\n if (!canceled1 || !canceled2) {\n resolveCancelPromise(undefined);\n }\n });\n }\n\n function pullWithDefaultReader() {\n if (IsReadableStreamBYOBReader(reader)) {\n assert(reader._readIntoRequests.length === 0);\n ReadableStreamReaderGenericRelease(reader);\n\n reader = AcquireReadableStreamDefaultReader(stream);\n forwardReaderError(reader);\n }\n\n const readRequest: ReadRequest = {\n _chunkSteps: chunk => {\n // This needs to be delayed a microtask because it takes at least a microtask to detect errors (using\n // reader._closedPromise below), and we want errors in stream to error both branches immediately. We cannot let\n // successful synchronously-available reads get ahead of asynchronously-available errors.\n queueMicrotask(() => {\n readAgainForBranch1 = false;\n readAgainForBranch2 = false;\n\n const chunk1 = chunk;\n let chunk2 = chunk;\n if (!canceled1 && !canceled2) {\n try {\n chunk2 = CloneAsUint8Array(chunk);\n } catch (cloneE) {\n ReadableByteStreamControllerError(branch1._readableStreamController, cloneE);\n ReadableByteStreamControllerError(branch2._readableStreamController, cloneE);\n resolveCancelPromise(ReadableStreamCancel(stream, cloneE));\n return;\n }\n }\n\n if (!canceled1) {\n ReadableByteStreamControllerEnqueue(branch1._readableStreamController, chunk1);\n }\n if (!canceled2) {\n ReadableByteStreamControllerEnqueue(branch2._readableStreamController, chunk2);\n }\n\n reading = false;\n if (readAgainForBranch1) {\n pull1Algorithm();\n } else if (readAgainForBranch2) {\n pull2Algorithm();\n }\n });\n },\n _closeSteps: () => {\n reading = false;\n if (!canceled1) {\n ReadableByteStreamControllerClose(branch1._readableStreamController);\n }\n if (!canceled2) {\n ReadableByteStreamControllerClose(branch2._readableStreamController);\n }\n if (branch1._readableStreamController._pendingPullIntos.length > 0) {\n ReadableByteStreamControllerRespond(branch1._readableStreamController, 0);\n }\n if (branch2._readableStreamController._pendingPullIntos.length > 0) {\n ReadableByteStreamControllerRespond(branch2._readableStreamController, 0);\n }\n if (!canceled1 || !canceled2) {\n resolveCancelPromise(undefined);\n }\n },\n _errorSteps: () => {\n reading = false;\n }\n };\n ReadableStreamDefaultReaderRead(reader, readRequest);\n }\n\n function pullWithBYOBReader(view: ArrayBufferView, forBranch2: boolean) {\n if (IsReadableStreamDefaultReader(reader)) {\n assert(reader._readRequests.length === 0);\n ReadableStreamReaderGenericRelease(reader);\n\n reader = AcquireReadableStreamBYOBReader(stream);\n forwardReaderError(reader);\n }\n\n const byobBranch = forBranch2 ? branch2 : branch1;\n const otherBranch = forBranch2 ? branch1 : branch2;\n\n const readIntoRequest: ReadIntoRequest = {\n _chunkSteps: chunk => {\n // This needs to be delayed a microtask because it takes at least a microtask to detect errors (using\n // reader._closedPromise below), and we want errors in stream to error both branches immediately. We cannot let\n // successful synchronously-available reads get ahead of asynchronously-available errors.\n queueMicrotask(() => {\n readAgainForBranch1 = false;\n readAgainForBranch2 = false;\n\n const byobCanceled = forBranch2 ? canceled2 : canceled1;\n const otherCanceled = forBranch2 ? canceled1 : canceled2;\n\n if (!otherCanceled) {\n let clonedChunk;\n try {\n clonedChunk = CloneAsUint8Array(chunk);\n } catch (cloneE) {\n ReadableByteStreamControllerError(byobBranch._readableStreamController, cloneE);\n ReadableByteStreamControllerError(otherBranch._readableStreamController, cloneE);\n resolveCancelPromise(ReadableStreamCancel(stream, cloneE));\n return;\n }\n if (!byobCanceled) {\n ReadableByteStreamControllerRespondWithNewView(byobBranch._readableStreamController, chunk);\n }\n ReadableByteStreamControllerEnqueue(otherBranch._readableStreamController, clonedChunk);\n } else if (!byobCanceled) {\n ReadableByteStreamControllerRespondWithNewView(byobBranch._readableStreamController, chunk);\n }\n\n reading = false;\n if (readAgainForBranch1) {\n pull1Algorithm();\n } else if (readAgainForBranch2) {\n pull2Algorithm();\n }\n });\n },\n _closeSteps: chunk => {\n reading = false;\n\n const byobCanceled = forBranch2 ? canceled2 : canceled1;\n const otherCanceled = forBranch2 ? canceled1 : canceled2;\n\n if (!byobCanceled) {\n ReadableByteStreamControllerClose(byobBranch._readableStreamController);\n }\n if (!otherCanceled) {\n ReadableByteStreamControllerClose(otherBranch._readableStreamController);\n }\n\n if (chunk !== undefined) {\n assert(chunk.byteLength === 0);\n\n if (!byobCanceled) {\n ReadableByteStreamControllerRespondWithNewView(byobBranch._readableStreamController, chunk);\n }\n if (!otherCanceled && otherBranch._readableStreamController._pendingPullIntos.length > 0) {\n ReadableByteStreamControllerRespond(otherBranch._readableStreamController, 0);\n }\n }\n\n if (!byobCanceled || !otherCanceled) {\n resolveCancelPromise(undefined);\n }\n },\n _errorSteps: () => {\n reading = false;\n }\n };\n ReadableStreamBYOBReaderRead(reader, view, readIntoRequest);\n }\n\n function pull1Algorithm(): Promise {\n if (reading) {\n readAgainForBranch1 = true;\n return promiseResolvedWith(undefined);\n }\n\n reading = true;\n\n const byobRequest = ReadableByteStreamControllerGetBYOBRequest(branch1._readableStreamController);\n if (byobRequest === null) {\n pullWithDefaultReader();\n } else {\n pullWithBYOBReader(byobRequest._view!, false);\n }\n\n return promiseResolvedWith(undefined);\n }\n\n function pull2Algorithm(): Promise {\n if (reading) {\n readAgainForBranch2 = true;\n return promiseResolvedWith(undefined);\n }\n\n reading = true;\n\n const byobRequest = ReadableByteStreamControllerGetBYOBRequest(branch2._readableStreamController);\n if (byobRequest === null) {\n pullWithDefaultReader();\n } else {\n pullWithBYOBReader(byobRequest._view!, true);\n }\n\n return promiseResolvedWith(undefined);\n }\n\n function cancel1Algorithm(reason: any): Promise {\n canceled1 = true;\n reason1 = reason;\n if (canceled2) {\n const compositeReason = CreateArrayFromList([reason1, reason2]);\n const cancelResult = ReadableStreamCancel(stream, compositeReason);\n resolveCancelPromise(cancelResult);\n }\n return cancelPromise;\n }\n\n function cancel2Algorithm(reason: any): Promise {\n canceled2 = true;\n reason2 = reason;\n if (canceled1) {\n const compositeReason = CreateArrayFromList([reason1, reason2]);\n const cancelResult = ReadableStreamCancel(stream, compositeReason);\n resolveCancelPromise(cancelResult);\n }\n return cancelPromise;\n }\n\n function startAlgorithm(): void {\n return;\n }\n\n branch1 = CreateReadableByteStream(startAlgorithm, pull1Algorithm, cancel1Algorithm);\n branch2 = CreateReadableByteStream(startAlgorithm, pull2Algorithm, cancel2Algorithm);\n\n forwardReaderError(reader);\n\n return [branch1, branch2];\n}\n","import { assertDictionary, assertFunction, convertUnsignedLongLongWithEnforceRange } from './basic';\nimport {\n ReadableStreamController,\n UnderlyingByteSource,\n UnderlyingDefaultOrByteSource,\n UnderlyingDefaultOrByteSourcePullCallback,\n UnderlyingDefaultOrByteSourceStartCallback,\n UnderlyingSource,\n UnderlyingSourceCancelCallback,\n ValidatedUnderlyingDefaultOrByteSource\n} from '../readable-stream/underlying-source';\nimport { promiseCall, reflectCall } from '../helpers/webidl';\n\nexport function convertUnderlyingDefaultOrByteSource(\n source: UnderlyingSource | UnderlyingByteSource | null,\n context: string\n): ValidatedUnderlyingDefaultOrByteSource {\n assertDictionary(source, context);\n const original = source as (UnderlyingDefaultOrByteSource | null);\n const autoAllocateChunkSize = original?.autoAllocateChunkSize;\n const cancel = original?.cancel;\n const pull = original?.pull;\n const start = original?.start;\n const type = original?.type;\n return {\n autoAllocateChunkSize: autoAllocateChunkSize === undefined ?\n undefined :\n convertUnsignedLongLongWithEnforceRange(\n autoAllocateChunkSize,\n `${context} has member 'autoAllocateChunkSize' that`\n ),\n cancel: cancel === undefined ?\n undefined :\n convertUnderlyingSourceCancelCallback(cancel, original!, `${context} has member 'cancel' that`),\n pull: pull === undefined ?\n undefined :\n convertUnderlyingSourcePullCallback(pull, original!, `${context} has member 'pull' that`),\n start: start === undefined ?\n undefined :\n convertUnderlyingSourceStartCallback(start, original!, `${context} has member 'start' that`),\n type: type === undefined ? undefined : convertReadableStreamType(type, `${context} has member 'type' that`)\n };\n}\n\nfunction convertUnderlyingSourceCancelCallback(\n fn: UnderlyingSourceCancelCallback,\n original: UnderlyingDefaultOrByteSource,\n context: string\n): (reason: any) => Promise {\n assertFunction(fn, context);\n return (reason: any) => promiseCall(fn, original, [reason]);\n}\n\nfunction convertUnderlyingSourcePullCallback(\n fn: UnderlyingDefaultOrByteSourcePullCallback,\n original: UnderlyingDefaultOrByteSource,\n context: string\n): (controller: ReadableStreamController) => Promise {\n assertFunction(fn, context);\n return (controller: ReadableStreamController) => promiseCall(fn, original, [controller]);\n}\n\nfunction convertUnderlyingSourceStartCallback(\n fn: UnderlyingDefaultOrByteSourceStartCallback,\n original: UnderlyingDefaultOrByteSource,\n context: string\n): UnderlyingDefaultOrByteSourceStartCallback {\n assertFunction(fn, context);\n return (controller: ReadableStreamController) => reflectCall(fn, original, [controller]);\n}\n\nfunction convertReadableStreamType(type: string, context: string): 'bytes' {\n type = `${type}`;\n if (type !== 'bytes') {\n throw new TypeError(`${context} '${type}' is not a valid enumeration value for ReadableStreamType`);\n }\n return type;\n}\n","import { assertDictionary } from './basic';\nimport { ReadableStreamGetReaderOptions } from '../readable-stream/reader-options';\n\nexport function convertReaderOptions(options: ReadableStreamGetReaderOptions | null | undefined,\n context: string): ReadableStreamGetReaderOptions {\n assertDictionary(options, context);\n const mode = options?.mode;\n return {\n mode: mode === undefined ? undefined : convertReadableStreamReaderMode(mode, `${context} has member 'mode' that`)\n };\n}\n\nfunction convertReadableStreamReaderMode(mode: string, context: string): 'byob' {\n mode = `${mode}`;\n if (mode !== 'byob') {\n throw new TypeError(`${context} '${mode}' is not a valid enumeration value for ReadableStreamReaderMode`);\n }\n return mode;\n}\n","import { assertDictionary } from './basic';\nimport {\n ReadableStreamIteratorOptions,\n ValidatedReadableStreamIteratorOptions\n} from '../readable-stream/iterator-options';\n\nexport function convertIteratorOptions(options: ReadableStreamIteratorOptions | null | undefined,\n context: string): ValidatedReadableStreamIteratorOptions {\n assertDictionary(options, context);\n const preventCancel = options?.preventCancel;\n return { preventCancel: Boolean(preventCancel) };\n}\n","import { assertDictionary } from './basic';\nimport { StreamPipeOptions, ValidatedStreamPipeOptions } from '../readable-stream/pipe-options';\nimport { AbortSignal, isAbortSignal } from '../abort-signal';\n\nexport function convertPipeOptions(options: StreamPipeOptions | null | undefined,\n context: string): ValidatedStreamPipeOptions {\n assertDictionary(options, context);\n const preventAbort = options?.preventAbort;\n const preventCancel = options?.preventCancel;\n const preventClose = options?.preventClose;\n const signal = options?.signal;\n if (signal !== undefined) {\n assertAbortSignal(signal, `${context} has member 'signal' that`);\n }\n return {\n preventAbort: Boolean(preventAbort),\n preventCancel: Boolean(preventCancel),\n preventClose: Boolean(preventClose),\n signal\n };\n}\n\nfunction assertAbortSignal(signal: unknown, context: string): asserts signal is AbortSignal {\n if (!isAbortSignal(signal)) {\n throw new TypeError(`${context} is not an AbortSignal.`);\n }\n}\n","import { assertDictionary, assertRequiredField } from './basic';\nimport { ReadableStream } from '../readable-stream';\nimport { WritableStream } from '../writable-stream';\nimport { assertReadableStream } from './readable-stream';\nimport { assertWritableStream } from './writable-stream';\n\nexport function convertReadableWritablePair(\n pair: { readable: RS; writable: WS } | null | undefined,\n context: string\n): { readable: RS; writable: WS } {\n assertDictionary(pair, context);\n\n const readable = pair?.readable;\n assertRequiredField(readable, 'readable', 'ReadableWritablePair');\n assertReadableStream(readable, `${context} has member 'readable' that`);\n\n const writable = pair?.writable;\n assertRequiredField(writable, 'writable', 'ReadableWritablePair');\n assertWritableStream(writable, `${context} has member 'writable' that`);\n\n return { readable, writable };\n}\n","import assert from '../stub/assert';\nimport {\n promiseRejectedWith,\n promiseResolvedWith,\n setPromiseIsHandledToTrue,\n transformPromiseWith\n} from './helpers/webidl';\nimport { QueuingStrategy, QueuingStrategySizeCallback } from './queuing-strategy';\nimport { AcquireReadableStreamAsyncIterator, ReadableStreamAsyncIterator } from './readable-stream/async-iterator';\nimport { defaultReaderClosedPromiseReject, defaultReaderClosedPromiseResolve } from './readable-stream/generic-reader';\nimport {\n AcquireReadableStreamDefaultReader,\n IsReadableStreamDefaultReader,\n ReadableStreamDefaultReader,\n ReadableStreamDefaultReadResult\n} from './readable-stream/default-reader';\nimport {\n AcquireReadableStreamBYOBReader,\n IsReadableStreamBYOBReader,\n ReadableStreamBYOBReader,\n ReadableStreamBYOBReadResult\n} from './readable-stream/byob-reader';\nimport { ReadableStreamPipeTo } from './readable-stream/pipe';\nimport { ReadableStreamTee } from './readable-stream/tee';\nimport { IsWritableStream, IsWritableStreamLocked, WritableStream } from './writable-stream';\nimport { SimpleQueue } from './simple-queue';\nimport {\n ReadableByteStreamController,\n ReadableStreamBYOBRequest,\n SetUpReadableByteStreamController,\n SetUpReadableByteStreamControllerFromUnderlyingSource\n} from './readable-stream/byte-stream-controller';\nimport {\n ReadableStreamDefaultController,\n SetUpReadableStreamDefaultController,\n SetUpReadableStreamDefaultControllerFromUnderlyingSource\n} from './readable-stream/default-controller';\nimport {\n UnderlyingByteSource,\n UnderlyingByteSourcePullCallback,\n UnderlyingByteSourceStartCallback,\n UnderlyingSource,\n UnderlyingSourceCancelCallback,\n UnderlyingSourcePullCallback,\n UnderlyingSourceStartCallback\n} from './readable-stream/underlying-source';\nimport { noop } from '../utils';\nimport { typeIsObject } from './helpers/miscellaneous';\nimport { CreateArrayFromList } from './abstract-ops/ecmascript';\nimport { CancelSteps } from './abstract-ops/internal-methods';\nimport { IsNonNegativeNumber } from './abstract-ops/miscellaneous';\nimport { assertObject, assertRequiredArgument } from './validators/basic';\nimport { convertQueuingStrategy } from './validators/queuing-strategy';\nimport { ExtractHighWaterMark, ExtractSizeAlgorithm } from './abstract-ops/queuing-strategy';\nimport { convertUnderlyingDefaultOrByteSource } from './validators/underlying-source';\nimport { ReadableStreamGetReaderOptions } from './readable-stream/reader-options';\nimport { convertReaderOptions } from './validators/reader-options';\nimport { StreamPipeOptions, ValidatedStreamPipeOptions } from './readable-stream/pipe-options';\nimport { ReadableStreamIteratorOptions } from './readable-stream/iterator-options';\nimport { convertIteratorOptions } from './validators/iterator-options';\nimport { convertPipeOptions } from './validators/pipe-options';\nimport { ReadableWritablePair } from './readable-stream/readable-writable-pair';\nimport { convertReadableWritablePair } from './validators/readable-writable-pair';\n\nexport type ReadableByteStream = ReadableStream & {\n _readableStreamController: ReadableByteStreamController\n};\n\ntype ReadableStreamState = 'readable' | 'closed' | 'errored';\n\n/**\n * A readable stream represents a source of data, from which you can read.\n *\n * @public\n */\nexport class ReadableStream {\n /** @internal */\n _state!: ReadableStreamState;\n /** @internal */\n _reader: ReadableStreamReader | undefined;\n /** @internal */\n _storedError: any;\n /** @internal */\n _disturbed!: boolean;\n /** @internal */\n _readableStreamController!: ReadableStreamDefaultController | ReadableByteStreamController;\n\n constructor(underlyingSource: UnderlyingByteSource, strategy?: { highWaterMark?: number; size?: undefined });\n constructor(underlyingSource?: UnderlyingSource, strategy?: QueuingStrategy);\n constructor(rawUnderlyingSource: UnderlyingSource | UnderlyingByteSource | null | undefined = {},\n rawStrategy: QueuingStrategy | null | undefined = {}) {\n if (rawUnderlyingSource === undefined) {\n rawUnderlyingSource = null;\n } else {\n assertObject(rawUnderlyingSource, 'First parameter');\n }\n\n const strategy = convertQueuingStrategy(rawStrategy, 'Second parameter');\n const underlyingSource = convertUnderlyingDefaultOrByteSource(rawUnderlyingSource, 'First parameter');\n\n InitializeReadableStream(this);\n\n if (underlyingSource.type === 'bytes') {\n if (strategy.size !== undefined) {\n throw new RangeError('The strategy for a byte stream cannot have a size function');\n }\n const highWaterMark = ExtractHighWaterMark(strategy, 0);\n SetUpReadableByteStreamControllerFromUnderlyingSource(\n this as unknown as ReadableByteStream,\n underlyingSource,\n highWaterMark\n );\n } else {\n assert(underlyingSource.type === undefined);\n const sizeAlgorithm = ExtractSizeAlgorithm(strategy);\n const highWaterMark = ExtractHighWaterMark(strategy, 1);\n SetUpReadableStreamDefaultControllerFromUnderlyingSource(\n this,\n underlyingSource,\n highWaterMark,\n sizeAlgorithm\n );\n }\n }\n\n /**\n * Whether or not the readable stream is locked to a {@link ReadableStreamDefaultReader | reader}.\n */\n get locked(): boolean {\n if (!IsReadableStream(this)) {\n throw streamBrandCheckException('locked');\n }\n\n return IsReadableStreamLocked(this);\n }\n\n /**\n * Cancels the stream, signaling a loss of interest in the stream by a consumer.\n *\n * The supplied `reason` argument will be given to the underlying source's {@link UnderlyingSource.cancel | cancel()}\n * method, which might or might not use it.\n */\n cancel(reason: any = undefined): Promise {\n if (!IsReadableStream(this)) {\n return promiseRejectedWith(streamBrandCheckException('cancel'));\n }\n\n if (IsReadableStreamLocked(this)) {\n return promiseRejectedWith(new TypeError('Cannot cancel a stream that already has a reader'));\n }\n\n return ReadableStreamCancel(this, reason);\n }\n\n /**\n * Creates a {@link ReadableStreamBYOBReader} and locks the stream to the new reader.\n *\n * This call behaves the same way as the no-argument variant, except that it only works on readable byte streams,\n * i.e. streams which were constructed specifically with the ability to handle \"bring your own buffer\" reading.\n * The returned BYOB reader provides the ability to directly read individual chunks from the stream via its\n * {@link ReadableStreamBYOBReader.read | read()} method, into developer-supplied buffers, allowing more precise\n * control over allocation.\n */\n getReader({ mode }: { mode: 'byob' }): ReadableStreamBYOBReader;\n /**\n * Creates a {@link ReadableStreamDefaultReader} and locks the stream to the new reader.\n * While the stream is locked, no other reader can be acquired until this one is released.\n *\n * This functionality is especially useful for creating abstractions that desire the ability to consume a stream\n * in its entirety. By getting a reader for the stream, you can ensure nobody else can interleave reads with yours\n * or cancel the stream, which would interfere with your abstraction.\n */\n getReader(): ReadableStreamDefaultReader;\n getReader(\n rawOptions: ReadableStreamGetReaderOptions | null | undefined = undefined\n ): ReadableStreamDefaultReader | ReadableStreamBYOBReader {\n if (!IsReadableStream(this)) {\n throw streamBrandCheckException('getReader');\n }\n\n const options = convertReaderOptions(rawOptions, 'First parameter');\n\n if (options.mode === undefined) {\n return AcquireReadableStreamDefaultReader(this);\n }\n\n assert(options.mode === 'byob');\n return AcquireReadableStreamBYOBReader(this as unknown as ReadableByteStream);\n }\n\n /**\n * Provides a convenient, chainable way of piping this readable stream through a transform stream\n * (or any other `{ writable, readable }` pair). It simply {@link ReadableStream.pipeTo | pipes} the stream\n * into the writable side of the supplied pair, and returns the readable side for further use.\n *\n * Piping a stream will lock it for the duration of the pipe, preventing any other consumer from acquiring a reader.\n */\n pipeThrough(\n transform: { readable: RS; writable: WritableStream },\n options?: StreamPipeOptions\n ): RS;\n pipeThrough(\n rawTransform: { readable: RS; writable: WritableStream } | null | undefined,\n rawOptions: StreamPipeOptions | null | undefined = {}\n ): RS {\n if (!IsReadableStream(this)) {\n throw streamBrandCheckException('pipeThrough');\n }\n assertRequiredArgument(rawTransform, 1, 'pipeThrough');\n\n const transform = convertReadableWritablePair(rawTransform, 'First parameter');\n const options = convertPipeOptions(rawOptions, 'Second parameter');\n\n if (IsReadableStreamLocked(this)) {\n throw new TypeError('ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream');\n }\n if (IsWritableStreamLocked(transform.writable)) {\n throw new TypeError('ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream');\n }\n\n const promise = ReadableStreamPipeTo(\n this, transform.writable, options.preventClose, options.preventAbort, options.preventCancel, options.signal\n );\n\n setPromiseIsHandledToTrue(promise);\n\n return transform.readable;\n }\n\n /**\n * Pipes this readable stream to a given writable stream. The way in which the piping process behaves under\n * various error conditions can be customized with a number of passed options. It returns a promise that fulfills\n * when the piping process completes successfully, or rejects if any errors were encountered.\n *\n * Piping a stream will lock it for the duration of the pipe, preventing any other consumer from acquiring a reader.\n */\n pipeTo(destination: WritableStream, options?: StreamPipeOptions): Promise;\n pipeTo(destination: WritableStream | null | undefined,\n rawOptions: StreamPipeOptions | null | undefined = {}): Promise {\n if (!IsReadableStream(this)) {\n return promiseRejectedWith(streamBrandCheckException('pipeTo'));\n }\n\n if (destination === undefined) {\n return promiseRejectedWith(`Parameter 1 is required in 'pipeTo'.`);\n }\n if (!IsWritableStream(destination)) {\n return promiseRejectedWith(\n new TypeError(`ReadableStream.prototype.pipeTo's first argument must be a WritableStream`)\n );\n }\n\n let options: ValidatedStreamPipeOptions;\n try {\n options = convertPipeOptions(rawOptions, 'Second parameter');\n } catch (e) {\n return promiseRejectedWith(e);\n }\n\n if (IsReadableStreamLocked(this)) {\n return promiseRejectedWith(\n new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream')\n );\n }\n if (IsWritableStreamLocked(destination)) {\n return promiseRejectedWith(\n new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream')\n );\n }\n\n return ReadableStreamPipeTo(\n this, destination, options.preventClose, options.preventAbort, options.preventCancel, options.signal\n );\n }\n\n /**\n * Tees this readable stream, returning a two-element array containing the two resulting branches as\n * new {@link ReadableStream} instances.\n *\n * Teeing a stream will lock it, preventing any other consumer from acquiring a reader.\n * To cancel the stream, cancel both of the resulting branches; a composite cancellation reason will then be\n * propagated to the stream's underlying source.\n *\n * Note that the chunks seen in each branch will be the same object. If the chunks are not immutable,\n * this could allow interference between the two branches.\n */\n tee(): [ReadableStream, ReadableStream] {\n if (!IsReadableStream(this)) {\n throw streamBrandCheckException('tee');\n }\n\n const branches = ReadableStreamTee(this, false);\n return CreateArrayFromList(branches);\n }\n\n /**\n * Asynchronously iterates over the chunks in the stream's internal queue.\n *\n * Asynchronously iterating over the stream will lock it, preventing any other consumer from acquiring a reader.\n * The lock will be released if the async iterator's {@link ReadableStreamAsyncIterator.return | return()} method\n * is called, e.g. by breaking out of the loop.\n *\n * By default, calling the async iterator's {@link ReadableStreamAsyncIterator.return | return()} method will also\n * cancel the stream. To prevent this, use the stream's {@link ReadableStream.values | values()} method, passing\n * `true` for the `preventCancel` option.\n */\n values(options?: ReadableStreamIteratorOptions): ReadableStreamAsyncIterator;\n values(rawOptions: ReadableStreamIteratorOptions | null | undefined = undefined): ReadableStreamAsyncIterator {\n if (!IsReadableStream(this)) {\n throw streamBrandCheckException('values');\n }\n\n const options = convertIteratorOptions(rawOptions, 'First parameter');\n return AcquireReadableStreamAsyncIterator(this, options.preventCancel);\n }\n\n /**\n * {@inheritDoc ReadableStream.values}\n */\n [Symbol.asyncIterator]: (options?: ReadableStreamIteratorOptions) => ReadableStreamAsyncIterator;\n}\n\nObject.defineProperties(ReadableStream.prototype, {\n cancel: { enumerable: true },\n getReader: { enumerable: true },\n pipeThrough: { enumerable: true },\n pipeTo: { enumerable: true },\n tee: { enumerable: true },\n values: { enumerable: true },\n locked: { enumerable: true }\n});\nif (typeof Symbol.toStringTag === 'symbol') {\n Object.defineProperty(ReadableStream.prototype, Symbol.toStringTag, {\n value: 'ReadableStream',\n configurable: true\n });\n}\nif (typeof Symbol.asyncIterator === 'symbol') {\n Object.defineProperty(ReadableStream.prototype, Symbol.asyncIterator, {\n value: ReadableStream.prototype.values,\n writable: true,\n configurable: true\n });\n}\n\nexport {\n ReadableStreamAsyncIterator,\n ReadableStreamDefaultReadResult,\n ReadableStreamBYOBReadResult,\n UnderlyingByteSource,\n UnderlyingSource,\n UnderlyingSourceStartCallback,\n UnderlyingSourcePullCallback,\n UnderlyingSourceCancelCallback,\n UnderlyingByteSourceStartCallback,\n UnderlyingByteSourcePullCallback,\n StreamPipeOptions,\n ReadableWritablePair,\n ReadableStreamIteratorOptions\n};\n\n// Abstract operations for the ReadableStream.\n\n// Throws if and only if startAlgorithm throws.\nexport function CreateReadableStream(startAlgorithm: () => void | PromiseLike,\n pullAlgorithm: () => Promise,\n cancelAlgorithm: (reason: any) => Promise,\n highWaterMark = 1,\n sizeAlgorithm: QueuingStrategySizeCallback = () => 1): ReadableStream {\n assert(IsNonNegativeNumber(highWaterMark));\n\n const stream: ReadableStream = Object.create(ReadableStream.prototype);\n InitializeReadableStream(stream);\n\n const controller: ReadableStreamDefaultController = Object.create(ReadableStreamDefaultController.prototype);\n SetUpReadableStreamDefaultController(\n stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm\n );\n\n return stream;\n}\n\n// Throws if and only if startAlgorithm throws.\nexport function CreateReadableByteStream(\n startAlgorithm: () => void | PromiseLike,\n pullAlgorithm: () => Promise,\n cancelAlgorithm: (reason: any) => Promise\n): ReadableByteStream {\n const stream: ReadableByteStream = Object.create(ReadableStream.prototype);\n InitializeReadableStream(stream);\n\n const controller: ReadableByteStreamController = Object.create(ReadableByteStreamController.prototype);\n SetUpReadableByteStreamController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, 0, undefined);\n\n return stream;\n}\n\nfunction InitializeReadableStream(stream: ReadableStream) {\n stream._state = 'readable';\n stream._reader = undefined;\n stream._storedError = undefined;\n stream._disturbed = false;\n}\n\nexport function IsReadableStream(x: unknown): x is ReadableStream {\n if (!typeIsObject(x)) {\n return false;\n }\n\n if (!Object.prototype.hasOwnProperty.call(x, '_readableStreamController')) {\n return false;\n }\n\n return x instanceof ReadableStream;\n}\n\nexport function IsReadableStreamDisturbed(stream: ReadableStream): boolean {\n assert(IsReadableStream(stream));\n\n return stream._disturbed;\n}\n\nexport function IsReadableStreamLocked(stream: ReadableStream): boolean {\n assert(IsReadableStream(stream));\n\n if (stream._reader === undefined) {\n return false;\n }\n\n return true;\n}\n\n// ReadableStream API exposed for controllers.\n\nexport function ReadableStreamCancel(stream: ReadableStream, reason: any): Promise {\n stream._disturbed = true;\n\n if (stream._state === 'closed') {\n return promiseResolvedWith(undefined);\n }\n if (stream._state === 'errored') {\n return promiseRejectedWith(stream._storedError);\n }\n\n ReadableStreamClose(stream);\n\n const reader = stream._reader;\n if (reader !== undefined && IsReadableStreamBYOBReader(reader)) {\n reader._readIntoRequests.forEach(readIntoRequest => {\n readIntoRequest._closeSteps(undefined);\n });\n reader._readIntoRequests = new SimpleQueue();\n }\n\n const sourceCancelPromise = stream._readableStreamController[CancelSteps](reason);\n return transformPromiseWith(sourceCancelPromise, noop);\n}\n\nexport function ReadableStreamClose(stream: ReadableStream): void {\n assert(stream._state === 'readable');\n\n stream._state = 'closed';\n\n const reader = stream._reader;\n\n if (reader === undefined) {\n return;\n }\n\n defaultReaderClosedPromiseResolve(reader);\n\n if (IsReadableStreamDefaultReader(reader)) {\n reader._readRequests.forEach(readRequest => {\n readRequest._closeSteps();\n });\n reader._readRequests = new SimpleQueue();\n }\n}\n\nexport function ReadableStreamError(stream: ReadableStream, e: any): void {\n assert(IsReadableStream(stream));\n assert(stream._state === 'readable');\n\n stream._state = 'errored';\n stream._storedError = e;\n\n const reader = stream._reader;\n\n if (reader === undefined) {\n return;\n }\n\n defaultReaderClosedPromiseReject(reader, e);\n\n if (IsReadableStreamDefaultReader(reader)) {\n reader._readRequests.forEach(readRequest => {\n readRequest._errorSteps(e);\n });\n\n reader._readRequests = new SimpleQueue();\n } else {\n assert(IsReadableStreamBYOBReader(reader));\n\n reader._readIntoRequests.forEach(readIntoRequest => {\n readIntoRequest._errorSteps(e);\n });\n\n reader._readIntoRequests = new SimpleQueue();\n }\n}\n\n// Readers\n\nexport type ReadableStreamReader = ReadableStreamDefaultReader | ReadableStreamBYOBReader;\n\nexport {\n ReadableStreamDefaultReader,\n ReadableStreamBYOBReader\n};\n\n// Controllers\n\nexport {\n ReadableStreamDefaultController,\n ReadableStreamBYOBRequest,\n ReadableByteStreamController\n};\n\n// Helper functions for the ReadableStream.\n\nfunction streamBrandCheckException(name: string): TypeError {\n return new TypeError(`ReadableStream.prototype.${name} can only be used on a ReadableStream`);\n}\n","import { QueuingStrategyInit } from '../queuing-strategy';\nimport { assertDictionary, assertRequiredField, convertUnrestrictedDouble } from './basic';\n\nexport function convertQueuingStrategyInit(init: QueuingStrategyInit | null | undefined,\n context: string): QueuingStrategyInit {\n assertDictionary(init, context);\n const highWaterMark = init?.highWaterMark;\n assertRequiredField(highWaterMark, 'highWaterMark', 'QueuingStrategyInit');\n return {\n highWaterMark: convertUnrestrictedDouble(highWaterMark)\n };\n}\n","import { QueuingStrategy, QueuingStrategyInit } from './queuing-strategy';\nimport { typeIsObject } from './helpers/miscellaneous';\nimport { assertRequiredArgument } from './validators/basic';\nimport { convertQueuingStrategyInit } from './validators/queuing-strategy-init';\n\n// The size function must not have a prototype property nor be a constructor\nconst byteLengthSizeFunction = (chunk: ArrayBufferView): number => {\n return chunk.byteLength;\n};\ntry {\n Object.defineProperty(byteLengthSizeFunction, 'name', {\n value: 'size',\n configurable: true\n });\n} catch {\n // This property is non-configurable in older browsers, so ignore if this throws.\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/name#browser_compatibility\n}\n\n/**\n * A queuing strategy that counts the number of bytes in each chunk.\n *\n * @public\n */\nexport default class ByteLengthQueuingStrategy implements QueuingStrategy {\n /** @internal */\n readonly _byteLengthQueuingStrategyHighWaterMark: number;\n\n constructor(options: QueuingStrategyInit) {\n assertRequiredArgument(options, 1, 'ByteLengthQueuingStrategy');\n options = convertQueuingStrategyInit(options, 'First parameter');\n this._byteLengthQueuingStrategyHighWaterMark = options.highWaterMark;\n }\n\n /**\n * Returns the high water mark provided to the constructor.\n */\n get highWaterMark(): number {\n if (!IsByteLengthQueuingStrategy(this)) {\n throw byteLengthBrandCheckException('highWaterMark');\n }\n return this._byteLengthQueuingStrategyHighWaterMark;\n }\n\n /**\n * Measures the size of `chunk` by returning the value of its `byteLength` property.\n */\n get size(): (chunk: ArrayBufferView) => number {\n if (!IsByteLengthQueuingStrategy(this)) {\n throw byteLengthBrandCheckException('size');\n }\n return byteLengthSizeFunction;\n }\n}\n\nObject.defineProperties(ByteLengthQueuingStrategy.prototype, {\n highWaterMark: { enumerable: true },\n size: { enumerable: true }\n});\nif (typeof Symbol.toStringTag === 'symbol') {\n Object.defineProperty(ByteLengthQueuingStrategy.prototype, Symbol.toStringTag, {\n value: 'ByteLengthQueuingStrategy',\n configurable: true\n });\n}\n\n// Helper functions for the ByteLengthQueuingStrategy.\n\nfunction byteLengthBrandCheckException(name: string): TypeError {\n return new TypeError(`ByteLengthQueuingStrategy.prototype.${name} can only be used on a ByteLengthQueuingStrategy`);\n}\n\nexport function IsByteLengthQueuingStrategy(x: any): x is ByteLengthQueuingStrategy {\n if (!typeIsObject(x)) {\n return false;\n }\n\n if (!Object.prototype.hasOwnProperty.call(x, '_byteLengthQueuingStrategyHighWaterMark')) {\n return false;\n }\n\n return x instanceof ByteLengthQueuingStrategy;\n}\n","import { QueuingStrategy, QueuingStrategyInit } from './queuing-strategy';\nimport { typeIsObject } from './helpers/miscellaneous';\nimport { assertRequiredArgument } from './validators/basic';\nimport { convertQueuingStrategyInit } from './validators/queuing-strategy-init';\n\n// The size function must not have a prototype property nor be a constructor\nconst countSizeFunction = (): 1 => {\n return 1;\n};\ntry {\n Object.defineProperty(countSizeFunction, 'name', {\n value: 'size',\n configurable: true\n });\n} catch {\n // This property is non-configurable in older browsers, so ignore if this throws.\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/name#browser_compatibility\n}\n\n/**\n * A queuing strategy that counts the number of chunks.\n *\n * @public\n */\nexport default class CountQueuingStrategy implements QueuingStrategy {\n /** @internal */\n readonly _countQueuingStrategyHighWaterMark!: number;\n\n constructor(options: QueuingStrategyInit) {\n assertRequiredArgument(options, 1, 'CountQueuingStrategy');\n options = convertQueuingStrategyInit(options, 'First parameter');\n this._countQueuingStrategyHighWaterMark = options.highWaterMark;\n }\n\n /**\n * Returns the high water mark provided to the constructor.\n */\n get highWaterMark(): number {\n if (!IsCountQueuingStrategy(this)) {\n throw countBrandCheckException('highWaterMark');\n }\n return this._countQueuingStrategyHighWaterMark;\n }\n\n /**\n * Measures the size of `chunk` by always returning 1.\n * This ensures that the total queue size is a count of the number of chunks in the queue.\n */\n get size(): (chunk: any) => 1 {\n if (!IsCountQueuingStrategy(this)) {\n throw countBrandCheckException('size');\n }\n return countSizeFunction;\n }\n}\n\nObject.defineProperties(CountQueuingStrategy.prototype, {\n highWaterMark: { enumerable: true },\n size: { enumerable: true }\n});\nif (typeof Symbol.toStringTag === 'symbol') {\n Object.defineProperty(CountQueuingStrategy.prototype, Symbol.toStringTag, {\n value: 'CountQueuingStrategy',\n configurable: true\n });\n}\n\n// Helper functions for the CountQueuingStrategy.\n\nfunction countBrandCheckException(name: string): TypeError {\n return new TypeError(`CountQueuingStrategy.prototype.${name} can only be used on a CountQueuingStrategy`);\n}\n\nexport function IsCountQueuingStrategy(x: any): x is CountQueuingStrategy {\n if (!typeIsObject(x)) {\n return false;\n }\n\n if (!Object.prototype.hasOwnProperty.call(x, '_countQueuingStrategyHighWaterMark')) {\n return false;\n }\n\n return x instanceof CountQueuingStrategy;\n}\n","import { assertDictionary, assertFunction } from './basic';\nimport { promiseCall, reflectCall } from '../helpers/webidl';\nimport {\n Transformer,\n TransformerFlushCallback,\n TransformerStartCallback,\n TransformerTransformCallback,\n ValidatedTransformer\n} from '../transform-stream/transformer';\nimport { TransformStreamDefaultController } from '../transform-stream';\n\nexport function convertTransformer(original: Transformer | null,\n context: string): ValidatedTransformer {\n assertDictionary(original, context);\n const flush = original?.flush;\n const readableType = original?.readableType;\n const start = original?.start;\n const transform = original?.transform;\n const writableType = original?.writableType;\n return {\n flush: flush === undefined ?\n undefined :\n convertTransformerFlushCallback(flush, original!, `${context} has member 'flush' that`),\n readableType,\n start: start === undefined ?\n undefined :\n convertTransformerStartCallback(start, original!, `${context} has member 'start' that`),\n transform: transform === undefined ?\n undefined :\n convertTransformerTransformCallback(transform, original!, `${context} has member 'transform' that`),\n writableType\n };\n}\n\nfunction convertTransformerFlushCallback(\n fn: TransformerFlushCallback,\n original: Transformer,\n context: string\n): (controller: TransformStreamDefaultController) => Promise {\n assertFunction(fn, context);\n return (controller: TransformStreamDefaultController) => promiseCall(fn, original, [controller]);\n}\n\nfunction convertTransformerStartCallback(\n fn: TransformerStartCallback,\n original: Transformer,\n context: string\n): TransformerStartCallback {\n assertFunction(fn, context);\n return (controller: TransformStreamDefaultController) => reflectCall(fn, original, [controller]);\n}\n\nfunction convertTransformerTransformCallback(\n fn: TransformerTransformCallback,\n original: Transformer,\n context: string\n): (chunk: I, controller: TransformStreamDefaultController) => Promise {\n assertFunction(fn, context);\n return (chunk: I, controller: TransformStreamDefaultController) => promiseCall(fn, original, [chunk, controller]);\n}\n","import assert from '../stub/assert';\nimport { newPromise, promiseRejectedWith, promiseResolvedWith, transformPromiseWith } from './helpers/webidl';\nimport { CreateReadableStream, ReadableStream, ReadableStreamDefaultController } from './readable-stream';\nimport {\n ReadableStreamDefaultControllerCanCloseOrEnqueue,\n ReadableStreamDefaultControllerClose,\n ReadableStreamDefaultControllerEnqueue,\n ReadableStreamDefaultControllerError,\n ReadableStreamDefaultControllerGetDesiredSize,\n ReadableStreamDefaultControllerHasBackpressure\n} from './readable-stream/default-controller';\nimport { QueuingStrategy, QueuingStrategySizeCallback } from './queuing-strategy';\nimport { CreateWritableStream, WritableStream, WritableStreamDefaultControllerErrorIfNeeded } from './writable-stream';\nimport { typeIsObject } from './helpers/miscellaneous';\nimport { IsNonNegativeNumber } from './abstract-ops/miscellaneous';\nimport { convertQueuingStrategy } from './validators/queuing-strategy';\nimport { ExtractHighWaterMark, ExtractSizeAlgorithm } from './abstract-ops/queuing-strategy';\nimport {\n Transformer,\n TransformerFlushCallback,\n TransformerStartCallback,\n TransformerTransformCallback,\n ValidatedTransformer\n} from './transform-stream/transformer';\nimport { convertTransformer } from './validators/transformer';\n\n// Class TransformStream\n\n/**\n * A transform stream consists of a pair of streams: a {@link WritableStream | writable stream},\n * known as its writable side, and a {@link ReadableStream | readable stream}, known as its readable side.\n * In a manner specific to the transform stream in question, writes to the writable side result in new data being\n * made available for reading from the readable side.\n *\n * @public\n */\nexport class TransformStream {\n /** @internal */\n _writable!: WritableStream;\n /** @internal */\n _readable!: ReadableStream;\n /** @internal */\n _backpressure!: boolean;\n /** @internal */\n _backpressureChangePromise!: Promise;\n /** @internal */\n _backpressureChangePromise_resolve!: () => void;\n /** @internal */\n _transformStreamController!: TransformStreamDefaultController;\n\n constructor(\n transformer?: Transformer,\n writableStrategy?: QueuingStrategy,\n readableStrategy?: QueuingStrategy\n );\n constructor(rawTransformer: Transformer | null | undefined = {},\n rawWritableStrategy: QueuingStrategy | null | undefined = {},\n rawReadableStrategy: QueuingStrategy | null | undefined = {}) {\n if (rawTransformer === undefined) {\n rawTransformer = null;\n }\n\n const writableStrategy = convertQueuingStrategy(rawWritableStrategy, 'Second parameter');\n const readableStrategy = convertQueuingStrategy(rawReadableStrategy, 'Third parameter');\n\n const transformer = convertTransformer(rawTransformer, 'First parameter');\n if (transformer.readableType !== undefined) {\n throw new RangeError('Invalid readableType specified');\n }\n if (transformer.writableType !== undefined) {\n throw new RangeError('Invalid writableType specified');\n }\n\n const readableHighWaterMark = ExtractHighWaterMark(readableStrategy, 0);\n const readableSizeAlgorithm = ExtractSizeAlgorithm(readableStrategy);\n const writableHighWaterMark = ExtractHighWaterMark(writableStrategy, 1);\n const writableSizeAlgorithm = ExtractSizeAlgorithm(writableStrategy);\n\n let startPromise_resolve!: (value: void | PromiseLike) => void;\n const startPromise = newPromise(resolve => {\n startPromise_resolve = resolve;\n });\n\n InitializeTransformStream(\n this, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm\n );\n SetUpTransformStreamDefaultControllerFromTransformer(this, transformer);\n\n if (transformer.start !== undefined) {\n startPromise_resolve(transformer.start(this._transformStreamController));\n } else {\n startPromise_resolve(undefined);\n }\n }\n\n /**\n * The readable side of the transform stream.\n */\n get readable(): ReadableStream {\n if (!IsTransformStream(this)) {\n throw streamBrandCheckException('readable');\n }\n\n return this._readable;\n }\n\n /**\n * The writable side of the transform stream.\n */\n get writable(): WritableStream {\n if (!IsTransformStream(this)) {\n throw streamBrandCheckException('writable');\n }\n\n return this._writable;\n }\n}\n\nObject.defineProperties(TransformStream.prototype, {\n readable: { enumerable: true },\n writable: { enumerable: true }\n});\nif (typeof Symbol.toStringTag === 'symbol') {\n Object.defineProperty(TransformStream.prototype, Symbol.toStringTag, {\n value: 'TransformStream',\n configurable: true\n });\n}\n\nexport {\n Transformer,\n TransformerStartCallback,\n TransformerFlushCallback,\n TransformerTransformCallback\n};\n\n// Transform Stream Abstract Operations\n\nexport function CreateTransformStream(startAlgorithm: () => void | PromiseLike,\n transformAlgorithm: (chunk: I) => Promise,\n flushAlgorithm: () => Promise,\n writableHighWaterMark = 1,\n writableSizeAlgorithm: QueuingStrategySizeCallback = () => 1,\n readableHighWaterMark = 0,\n readableSizeAlgorithm: QueuingStrategySizeCallback = () => 1) {\n assert(IsNonNegativeNumber(writableHighWaterMark));\n assert(IsNonNegativeNumber(readableHighWaterMark));\n\n const stream: TransformStream = Object.create(TransformStream.prototype);\n\n let startPromise_resolve!: (value: void | PromiseLike) => void;\n const startPromise = newPromise(resolve => {\n startPromise_resolve = resolve;\n });\n\n InitializeTransformStream(stream, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark,\n readableSizeAlgorithm);\n\n const controller: TransformStreamDefaultController = Object.create(TransformStreamDefaultController.prototype);\n\n SetUpTransformStreamDefaultController(stream, controller, transformAlgorithm, flushAlgorithm);\n\n const startResult = startAlgorithm();\n startPromise_resolve(startResult);\n return stream;\n}\n\nfunction InitializeTransformStream(stream: TransformStream,\n startPromise: Promise,\n writableHighWaterMark: number,\n writableSizeAlgorithm: QueuingStrategySizeCallback,\n readableHighWaterMark: number,\n readableSizeAlgorithm: QueuingStrategySizeCallback) {\n function startAlgorithm(): Promise {\n return startPromise;\n }\n\n function writeAlgorithm(chunk: I): Promise {\n return TransformStreamDefaultSinkWriteAlgorithm(stream, chunk);\n }\n\n function abortAlgorithm(reason: any): Promise {\n return TransformStreamDefaultSinkAbortAlgorithm(stream, reason);\n }\n\n function closeAlgorithm(): Promise {\n return TransformStreamDefaultSinkCloseAlgorithm(stream);\n }\n\n stream._writable = CreateWritableStream(startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm,\n writableHighWaterMark, writableSizeAlgorithm);\n\n function pullAlgorithm(): Promise {\n return TransformStreamDefaultSourcePullAlgorithm(stream);\n }\n\n function cancelAlgorithm(reason: any): Promise {\n TransformStreamErrorWritableAndUnblockWrite(stream, reason);\n return promiseResolvedWith(undefined);\n }\n\n stream._readable = CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, readableHighWaterMark,\n readableSizeAlgorithm);\n\n // The [[backpressure]] slot is set to undefined so that it can be initialised by TransformStreamSetBackpressure.\n stream._backpressure = undefined!;\n stream._backpressureChangePromise = undefined!;\n stream._backpressureChangePromise_resolve = undefined!;\n TransformStreamSetBackpressure(stream, true);\n\n stream._transformStreamController = undefined!;\n}\n\nfunction IsTransformStream(x: unknown): x is TransformStream {\n if (!typeIsObject(x)) {\n return false;\n }\n\n if (!Object.prototype.hasOwnProperty.call(x, '_transformStreamController')) {\n return false;\n }\n\n return x instanceof TransformStream;\n}\n\n// This is a no-op if both sides are already errored.\nfunction TransformStreamError(stream: TransformStream, e: any) {\n ReadableStreamDefaultControllerError(\n stream._readable._readableStreamController as ReadableStreamDefaultController,\n e\n );\n TransformStreamErrorWritableAndUnblockWrite(stream, e);\n}\n\nfunction TransformStreamErrorWritableAndUnblockWrite(stream: TransformStream, e: any) {\n TransformStreamDefaultControllerClearAlgorithms(stream._transformStreamController);\n WritableStreamDefaultControllerErrorIfNeeded(stream._writable._writableStreamController, e);\n if (stream._backpressure) {\n // Pretend that pull() was called to permit any pending write() calls to complete. TransformStreamSetBackpressure()\n // cannot be called from enqueue() or pull() once the ReadableStream is errored, so this will will be the final time\n // _backpressure is set.\n TransformStreamSetBackpressure(stream, false);\n }\n}\n\nfunction TransformStreamSetBackpressure(stream: TransformStream, backpressure: boolean) {\n // Passes also when called during construction.\n assert(stream._backpressure !== backpressure);\n\n if (stream._backpressureChangePromise !== undefined) {\n stream._backpressureChangePromise_resolve();\n }\n\n stream._backpressureChangePromise = newPromise(resolve => {\n stream._backpressureChangePromise_resolve = resolve;\n });\n\n stream._backpressure = backpressure;\n}\n\n// Class TransformStreamDefaultController\n\n/**\n * Allows control of the {@link ReadableStream} and {@link WritableStream} of the associated {@link TransformStream}.\n *\n * @public\n */\nexport class TransformStreamDefaultController {\n /** @internal */\n _controlledTransformStream: TransformStream;\n /** @internal */\n _transformAlgorithm: (chunk: any) => Promise;\n /** @internal */\n _flushAlgorithm: () => Promise;\n\n private constructor() {\n throw new TypeError('Illegal constructor');\n }\n\n /**\n * Returns the desired size to fill the readable side’s internal queue. It can be negative, if the queue is over-full.\n */\n get desiredSize(): number | null {\n if (!IsTransformStreamDefaultController(this)) {\n throw defaultControllerBrandCheckException('desiredSize');\n }\n\n const readableController = this._controlledTransformStream._readable._readableStreamController;\n return ReadableStreamDefaultControllerGetDesiredSize(readableController as ReadableStreamDefaultController);\n }\n\n /**\n * Enqueues the given chunk `chunk` in the readable side of the controlled transform stream.\n */\n enqueue(chunk: O): void;\n enqueue(chunk: O = undefined!): void {\n if (!IsTransformStreamDefaultController(this)) {\n throw defaultControllerBrandCheckException('enqueue');\n }\n\n TransformStreamDefaultControllerEnqueue(this, chunk);\n }\n\n /**\n * Errors both the readable side and the writable side of the controlled transform stream, making all future\n * interactions with it fail with the given error `e`. Any chunks queued for transformation will be discarded.\n */\n error(reason: any = undefined): void {\n if (!IsTransformStreamDefaultController(this)) {\n throw defaultControllerBrandCheckException('error');\n }\n\n TransformStreamDefaultControllerError(this, reason);\n }\n\n /**\n * Closes the readable side and errors the writable side of the controlled transform stream. This is useful when the\n * transformer only needs to consume a portion of the chunks written to the writable side.\n */\n terminate(): void {\n if (!IsTransformStreamDefaultController(this)) {\n throw defaultControllerBrandCheckException('terminate');\n }\n\n TransformStreamDefaultControllerTerminate(this);\n }\n}\n\nObject.defineProperties(TransformStreamDefaultController.prototype, {\n enqueue: { enumerable: true },\n error: { enumerable: true },\n terminate: { enumerable: true },\n desiredSize: { enumerable: true }\n});\nif (typeof Symbol.toStringTag === 'symbol') {\n Object.defineProperty(TransformStreamDefaultController.prototype, Symbol.toStringTag, {\n value: 'TransformStreamDefaultController',\n configurable: true\n });\n}\n\n// Transform Stream Default Controller Abstract Operations\n\nfunction IsTransformStreamDefaultController(x: any): x is TransformStreamDefaultController {\n if (!typeIsObject(x)) {\n return false;\n }\n\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledTransformStream')) {\n return false;\n }\n\n return x instanceof TransformStreamDefaultController;\n}\n\nfunction SetUpTransformStreamDefaultController(stream: TransformStream,\n controller: TransformStreamDefaultController,\n transformAlgorithm: (chunk: I) => Promise,\n flushAlgorithm: () => Promise) {\n assert(IsTransformStream(stream));\n assert(stream._transformStreamController === undefined);\n\n controller._controlledTransformStream = stream;\n stream._transformStreamController = controller;\n\n controller._transformAlgorithm = transformAlgorithm;\n controller._flushAlgorithm = flushAlgorithm;\n}\n\nfunction SetUpTransformStreamDefaultControllerFromTransformer(stream: TransformStream,\n transformer: ValidatedTransformer) {\n const controller: TransformStreamDefaultController = Object.create(TransformStreamDefaultController.prototype);\n\n let transformAlgorithm = (chunk: I): Promise => {\n try {\n TransformStreamDefaultControllerEnqueue(controller, chunk as unknown as O);\n return promiseResolvedWith(undefined);\n } catch (transformResultE) {\n return promiseRejectedWith(transformResultE);\n }\n };\n\n let flushAlgorithm: () => Promise = () => promiseResolvedWith(undefined);\n\n if (transformer.transform !== undefined) {\n transformAlgorithm = chunk => transformer.transform!(chunk, controller);\n }\n if (transformer.flush !== undefined) {\n flushAlgorithm = () => transformer.flush!(controller);\n }\n\n SetUpTransformStreamDefaultController(stream, controller, transformAlgorithm, flushAlgorithm);\n}\n\nfunction TransformStreamDefaultControllerClearAlgorithms(controller: TransformStreamDefaultController) {\n controller._transformAlgorithm = undefined!;\n controller._flushAlgorithm = undefined!;\n}\n\nfunction TransformStreamDefaultControllerEnqueue(controller: TransformStreamDefaultController, chunk: O) {\n const stream = controller._controlledTransformStream;\n const readableController = stream._readable._readableStreamController as ReadableStreamDefaultController;\n if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController)) {\n throw new TypeError('Readable side is not in a state that permits enqueue');\n }\n\n // We throttle transform invocations based on the backpressure of the ReadableStream, but we still\n // accept TransformStreamDefaultControllerEnqueue() calls.\n\n try {\n ReadableStreamDefaultControllerEnqueue(readableController, chunk);\n } catch (e) {\n // This happens when readableStrategy.size() throws.\n TransformStreamErrorWritableAndUnblockWrite(stream, e);\n\n throw stream._readable._storedError;\n }\n\n const backpressure = ReadableStreamDefaultControllerHasBackpressure(readableController);\n if (backpressure !== stream._backpressure) {\n assert(backpressure);\n TransformStreamSetBackpressure(stream, true);\n }\n}\n\nfunction TransformStreamDefaultControllerError(controller: TransformStreamDefaultController, e: any) {\n TransformStreamError(controller._controlledTransformStream, e);\n}\n\nfunction TransformStreamDefaultControllerPerformTransform(controller: TransformStreamDefaultController,\n chunk: I) {\n const transformPromise = controller._transformAlgorithm(chunk);\n return transformPromiseWith(transformPromise, undefined, r => {\n TransformStreamError(controller._controlledTransformStream, r);\n throw r;\n });\n}\n\nfunction TransformStreamDefaultControllerTerminate(controller: TransformStreamDefaultController) {\n const stream = controller._controlledTransformStream;\n const readableController = stream._readable._readableStreamController as ReadableStreamDefaultController;\n\n ReadableStreamDefaultControllerClose(readableController);\n\n const error = new TypeError('TransformStream terminated');\n TransformStreamErrorWritableAndUnblockWrite(stream, error);\n}\n\n// TransformStreamDefaultSink Algorithms\n\nfunction TransformStreamDefaultSinkWriteAlgorithm(stream: TransformStream, chunk: I): Promise {\n assert(stream._writable._state === 'writable');\n\n const controller = stream._transformStreamController;\n\n if (stream._backpressure) {\n const backpressureChangePromise = stream._backpressureChangePromise;\n assert(backpressureChangePromise !== undefined);\n return transformPromiseWith(backpressureChangePromise, () => {\n const writable = stream._writable;\n const state = writable._state;\n if (state === 'erroring') {\n throw writable._storedError;\n }\n assert(state === 'writable');\n return TransformStreamDefaultControllerPerformTransform(controller, chunk);\n });\n }\n\n return TransformStreamDefaultControllerPerformTransform(controller, chunk);\n}\n\nfunction TransformStreamDefaultSinkAbortAlgorithm(stream: TransformStream, reason: any): Promise {\n // abort() is not called synchronously, so it is possible for abort() to be called when the stream is already\n // errored.\n TransformStreamError(stream, reason);\n return promiseResolvedWith(undefined);\n}\n\nfunction TransformStreamDefaultSinkCloseAlgorithm(stream: TransformStream): Promise {\n // stream._readable cannot change after construction, so caching it across a call to user code is safe.\n const readable = stream._readable;\n\n const controller = stream._transformStreamController;\n const flushPromise = controller._flushAlgorithm();\n TransformStreamDefaultControllerClearAlgorithms(controller);\n\n // Return a promise that is fulfilled with undefined on success.\n return transformPromiseWith(flushPromise, () => {\n if (readable._state === 'errored') {\n throw readable._storedError;\n }\n ReadableStreamDefaultControllerClose(readable._readableStreamController as ReadableStreamDefaultController);\n }, r => {\n TransformStreamError(stream, r);\n throw readable._storedError;\n });\n}\n\n// TransformStreamDefaultSource Algorithms\n\nfunction TransformStreamDefaultSourcePullAlgorithm(stream: TransformStream): Promise {\n // Invariant. Enforced by the promises returned by start() and pull().\n assert(stream._backpressure);\n\n assert(stream._backpressureChangePromise !== undefined);\n\n TransformStreamSetBackpressure(stream, false);\n\n // Prevent the next pull() call until there is backpressure.\n return stream._backpressureChangePromise;\n}\n\n// Helper functions for the TransformStreamDefaultController.\n\nfunction defaultControllerBrandCheckException(name: string): TypeError {\n return new TypeError(\n `TransformStreamDefaultController.prototype.${name} can only be used on a TransformStreamDefaultController`);\n}\n\n// Helper functions for the TransformStream.\n\nfunction streamBrandCheckException(name: string): TypeError {\n return new TypeError(\n `TransformStream.prototype.${name} can only be used on a TransformStream`);\n}\n","/* c8 ignore start */\n// 64 KiB (same size chrome slice theirs blob into Uint8array's)\nconst POOL_SIZE = 65536\n\nif (!globalThis.ReadableStream) {\n // `node:stream/web` got introduced in v16.5.0 as experimental\n // and it's preferred over the polyfilled version. So we also\n // suppress the warning that gets emitted by NodeJS for using it.\n try {\n const process = require('node:process')\n const { emitWarning } = process\n try {\n process.emitWarning = () => {}\n Object.assign(globalThis, require('node:stream/web'))\n process.emitWarning = emitWarning\n } catch (error) {\n process.emitWarning = emitWarning\n throw error\n }\n } catch (error) {\n // fallback to polyfill implementation\n Object.assign(globalThis, require('web-streams-polyfill/dist/ponyfill.es2018.js'))\n }\n}\n\ntry {\n // Don't use node: prefix for this, require+node: is not supported until node v14.14\n // Only `import()` can use prefix in 12.20 and later\n const { Blob } = require('buffer')\n if (Blob && !Blob.prototype.stream) {\n Blob.prototype.stream = function name (params) {\n let position = 0\n const blob = this\n\n return new ReadableStream({\n type: 'bytes',\n async pull (ctrl) {\n const chunk = blob.slice(position, Math.min(blob.size, position + POOL_SIZE))\n const buffer = await chunk.arrayBuffer()\n position += buffer.byteLength\n ctrl.enqueue(new Uint8Array(buffer))\n\n if (position === blob.size) {\n ctrl.close()\n }\n }\n })\n }\n }\n} catch (error) {}\n/* c8 ignore end */\n","/*! fetch-blob. MIT License. Jimmy Wärting */\n\n// TODO (jimmywarting): in the feature use conditional loading with top level await (requires 14.x)\n// Node has recently added whatwg stream into core\n\nimport './streams.cjs'\n\n// 64 KiB (same size chrome slice theirs blob into Uint8array's)\nconst POOL_SIZE = 65536\n\n/** @param {(Blob | Uint8Array)[]} parts */\nasync function * toIterator (parts, clone = true) {\n for (const part of parts) {\n if ('stream' in part) {\n yield * (/** @type {AsyncIterableIterator} */ (part.stream()))\n } else if (ArrayBuffer.isView(part)) {\n if (clone) {\n let position = part.byteOffset\n const end = part.byteOffset + part.byteLength\n while (position !== end) {\n const size = Math.min(end - position, POOL_SIZE)\n const chunk = part.buffer.slice(position, position + size)\n position += chunk.byteLength\n yield new Uint8Array(chunk)\n }\n } else {\n yield part\n }\n /* c8 ignore next 10 */\n } else {\n // For blobs that have arrayBuffer but no stream method (nodes buffer.Blob)\n let position = 0, b = (/** @type {Blob} */ (part))\n while (position !== b.size) {\n const chunk = b.slice(position, Math.min(b.size, position + POOL_SIZE))\n const buffer = await chunk.arrayBuffer()\n position += buffer.byteLength\n yield new Uint8Array(buffer)\n }\n }\n }\n}\n\nconst _Blob = class Blob {\n /** @type {Array.<(Blob|Uint8Array)>} */\n #parts = []\n #type = ''\n #size = 0\n #endings = 'transparent'\n\n /**\n * The Blob() constructor returns a new Blob object. The content\n * of the blob consists of the concatenation of the values given\n * in the parameter array.\n *\n * @param {*} blobParts\n * @param {{ type?: string, endings?: string }} [options]\n */\n constructor (blobParts = [], options = {}) {\n if (typeof blobParts !== 'object' || blobParts === null) {\n throw new TypeError('Failed to construct \\'Blob\\': The provided value cannot be converted to a sequence.')\n }\n\n if (typeof blobParts[Symbol.iterator] !== 'function') {\n throw new TypeError('Failed to construct \\'Blob\\': The object must have a callable @@iterator property.')\n }\n\n if (typeof options !== 'object' && typeof options !== 'function') {\n throw new TypeError('Failed to construct \\'Blob\\': parameter 2 cannot convert to dictionary.')\n }\n\n if (options === null) options = {}\n\n const encoder = new TextEncoder()\n for (const element of blobParts) {\n let part\n if (ArrayBuffer.isView(element)) {\n part = new Uint8Array(element.buffer.slice(element.byteOffset, element.byteOffset + element.byteLength))\n } else if (element instanceof ArrayBuffer) {\n part = new Uint8Array(element.slice(0))\n } else if (element instanceof Blob) {\n part = element\n } else {\n part = encoder.encode(`${element}`)\n }\n\n this.#size += ArrayBuffer.isView(part) ? part.byteLength : part.size\n this.#parts.push(part)\n }\n\n this.#endings = `${options.endings === undefined ? 'transparent' : options.endings}`\n const type = options.type === undefined ? '' : String(options.type)\n this.#type = /^[\\x20-\\x7E]*$/.test(type) ? type : ''\n }\n\n /**\n * The Blob interface's size property returns the\n * size of the Blob in bytes.\n */\n get size () {\n return this.#size\n }\n\n /**\n * The type property of a Blob object returns the MIME type of the file.\n */\n get type () {\n return this.#type\n }\n\n /**\n * The text() method in the Blob interface returns a Promise\n * that resolves with a string containing the contents of\n * the blob, interpreted as UTF-8.\n *\n * @return {Promise}\n */\n async text () {\n // More optimized than using this.arrayBuffer()\n // that requires twice as much ram\n const decoder = new TextDecoder()\n let str = ''\n for await (const part of toIterator(this.#parts, false)) {\n str += decoder.decode(part, { stream: true })\n }\n // Remaining\n str += decoder.decode()\n return str\n }\n\n /**\n * The arrayBuffer() method in the Blob interface returns a\n * Promise that resolves with the contents of the blob as\n * binary data contained in an ArrayBuffer.\n *\n * @return {Promise}\n */\n async arrayBuffer () {\n // Easier way... Just a unnecessary overhead\n // const view = new Uint8Array(this.size);\n // await this.stream().getReader({mode: 'byob'}).read(view);\n // return view.buffer;\n\n const data = new Uint8Array(this.size)\n let offset = 0\n for await (const chunk of toIterator(this.#parts, false)) {\n data.set(chunk, offset)\n offset += chunk.length\n }\n\n return data.buffer\n }\n\n stream () {\n const it = toIterator(this.#parts, true)\n\n return new globalThis.ReadableStream({\n // @ts-ignore\n type: 'bytes',\n async pull (ctrl) {\n const chunk = await it.next()\n chunk.done ? ctrl.close() : ctrl.enqueue(chunk.value)\n },\n\n async cancel () {\n await it.return()\n }\n })\n }\n\n /**\n * The Blob interface's slice() method creates and returns a\n * new Blob object which contains data from a subset of the\n * blob on which it's called.\n *\n * @param {number} [start]\n * @param {number} [end]\n * @param {string} [type]\n */\n slice (start = 0, end = this.size, type = '') {\n const { size } = this\n\n let relativeStart = start < 0 ? Math.max(size + start, 0) : Math.min(start, size)\n let relativeEnd = end < 0 ? Math.max(size + end, 0) : Math.min(end, size)\n\n const span = Math.max(relativeEnd - relativeStart, 0)\n const parts = this.#parts\n const blobParts = []\n let added = 0\n\n for (const part of parts) {\n // don't add the overflow to new blobParts\n if (added >= span) {\n break\n }\n\n const size = ArrayBuffer.isView(part) ? part.byteLength : part.size\n if (relativeStart && size <= relativeStart) {\n // Skip the beginning and change the relative\n // start & end position as we skip the unwanted parts\n relativeStart -= size\n relativeEnd -= size\n } else {\n let chunk\n if (ArrayBuffer.isView(part)) {\n chunk = part.subarray(relativeStart, Math.min(size, relativeEnd))\n added += chunk.byteLength\n } else {\n chunk = part.slice(relativeStart, Math.min(size, relativeEnd))\n added += chunk.size\n }\n relativeEnd -= size\n blobParts.push(chunk)\n relativeStart = 0 // All next sequential parts should start at 0\n }\n }\n\n const blob = new Blob([], { type: String(type).toLowerCase() })\n blob.#size = span\n blob.#parts = blobParts\n\n return blob\n }\n\n get [Symbol.toStringTag] () {\n return 'Blob'\n }\n\n static [Symbol.hasInstance] (object) {\n return (\n object &&\n typeof object === 'object' &&\n typeof object.constructor === 'function' &&\n (\n typeof object.stream === 'function' ||\n typeof object.arrayBuffer === 'function'\n ) &&\n /^(Blob|File)$/.test(object[Symbol.toStringTag])\n )\n }\n}\n\nObject.defineProperties(_Blob.prototype, {\n size: { enumerable: true },\n type: { enumerable: true },\n slice: { enumerable: true }\n})\n\n/** @type {typeof globalThis.Blob} */\nexport const Blob = _Blob\nexport default Blob\n","import Blob from './index.js'\n\nconst _File = class File extends Blob {\n #lastModified = 0\n #name = ''\n\n /**\n * @param {*[]} fileBits\n * @param {string} fileName\n * @param {{lastModified?: number, type?: string}} options\n */// @ts-ignore\n constructor (fileBits, fileName, options = {}) {\n if (arguments.length < 2) {\n throw new TypeError(`Failed to construct 'File': 2 arguments required, but only ${arguments.length} present.`)\n }\n super(fileBits, options)\n\n if (options === null) options = {}\n\n // Simulate WebIDL type casting for NaN value in lastModified option.\n const lastModified = options.lastModified === undefined ? Date.now() : Number(options.lastModified)\n if (!Number.isNaN(lastModified)) {\n this.#lastModified = lastModified\n }\n\n this.#name = String(fileName)\n }\n\n get name () {\n return this.#name\n }\n\n get lastModified () {\n return this.#lastModified\n }\n\n get [Symbol.toStringTag] () {\n return 'File'\n }\n\n static [Symbol.hasInstance] (object) {\n return !!object && object instanceof Blob &&\n /^(File)$/.test(object[Symbol.toStringTag])\n }\n}\n\n/** @type {typeof globalThis.File} */// @ts-ignore\nexport const File = _File\nexport default File\n","/*! formdata-polyfill. MIT License. Jimmy Wärting */\n\nimport C from 'fetch-blob'\nimport F from 'fetch-blob/file.js'\n\nvar {toStringTag:t,iterator:i,hasInstance:h}=Symbol,\nr=Math.random,\nm='append,set,get,getAll,delete,keys,values,entries,forEach,constructor'.split(','),\nf=(a,b,c)=>(a+='',/^(Blob|File)$/.test(b && b[t])?[(c=c!==void 0?c+'':b[t]=='File'?b.name:'blob',a),b.name!==c||b[t]=='blob'?new F([b],c,b):b]:[a,b+'']),\ne=(c,f)=>(f?c:c.replace(/\\r?\\n|\\r/g,'\\r\\n')).replace(/\\n/g,'%0A').replace(/\\r/g,'%0D').replace(/\"/g,'%22'),\nx=(n, a, e)=>{if(a.lengthtypeof o[m]!='function')}\nappend(...a){x('append',arguments,2);this.#d.push(f(...a))}\ndelete(a){x('delete',arguments,1);a+='';this.#d=this.#d.filter(([b])=>b!==a)}\nget(a){x('get',arguments,1);a+='';for(var b=this.#d,l=b.length,c=0;cc[0]===a&&b.push(c[1]));return b}\nhas(a){x('has',arguments,1);a+='';return this.#d.some(b=>b[0]===a)}\nforEach(a,b){x('forEach',arguments,1);for(var [c,d]of this)a.call(b,d,c,this)}\nset(...a){x('set',arguments,2);var b=[],c=!0;a=f(...a);this.#d.forEach(d=>{d[0]===a[0]?c&&(c=!b.push(a)):b.push(d)});c&&b.push(a);this.#d=b}\n*entries(){yield*this.#d}\n*keys(){for(var[a]of this)yield a}\n*values(){for(var[,a]of this)yield a}}\n\n/** @param {FormData} F */\nexport function formDataToBlob (F,B=C){\nvar b=`${r()}${r()}`.replace(/\\./g, '').slice(-28).padStart(32, '-'),c=[],p=`--${b}\\r\\nContent-Disposition: form-data; name=\"`\nF.forEach((v,n)=>typeof v=='string'\n?c.push(p+e(n)+`\"\\r\\n\\r\\n${v.replace(/\\r(?!\\n)|(? */\n\nif (!globalThis.DOMException) {\n try {\n const { MessageChannel } = require('worker_threads'),\n port = new MessageChannel().port1,\n ab = new ArrayBuffer()\n port.postMessage(ab, [ab, ab])\n } catch (err) {\n err.constructor.name === 'DOMException' && (\n globalThis.DOMException = err.constructor\n )\n }\n}\n\nmodule.exports = globalThis.DOMException\n","import { statSync, createReadStream, promises as fs } from 'node:fs'\nimport { basename } from 'node:path'\nimport DOMException from 'node-domexception'\n\nimport File from './file.js'\nimport Blob from './index.js'\n\nconst { stat } = fs\n\n/**\n * @param {string} path filepath on the disk\n * @param {string} [type] mimetype to use\n */\nconst blobFromSync = (path, type) => fromBlob(statSync(path), path, type)\n\n/**\n * @param {string} path filepath on the disk\n * @param {string} [type] mimetype to use\n * @returns {Promise}\n */\nconst blobFrom = (path, type) => stat(path).then(stat => fromBlob(stat, path, type))\n\n/**\n * @param {string} path filepath on the disk\n * @param {string} [type] mimetype to use\n * @returns {Promise}\n */\nconst fileFrom = (path, type) => stat(path).then(stat => fromFile(stat, path, type))\n\n/**\n * @param {string} path filepath on the disk\n * @param {string} [type] mimetype to use\n */\nconst fileFromSync = (path, type) => fromFile(statSync(path), path, type)\n\n// @ts-ignore\nconst fromBlob = (stat, path, type = '') => new Blob([new BlobDataItem({\n path,\n size: stat.size,\n lastModified: stat.mtimeMs,\n start: 0\n})], { type })\n\n// @ts-ignore\nconst fromFile = (stat, path, type = '') => new File([new BlobDataItem({\n path,\n size: stat.size,\n lastModified: stat.mtimeMs,\n start: 0\n})], basename(path), { type, lastModified: stat.mtimeMs })\n\n/**\n * This is a blob backed up by a file on the disk\n * with minium requirement. Its wrapped around a Blob as a blobPart\n * so you have no direct access to this.\n *\n * @private\n */\nclass BlobDataItem {\n #path\n #start\n\n constructor (options) {\n this.#path = options.path\n this.#start = options.start\n this.size = options.size\n this.lastModified = options.lastModified\n }\n\n /**\n * Slicing arguments is first validated and formatted\n * to not be out of range by Blob.prototype.slice\n */\n slice (start, end) {\n return new BlobDataItem({\n path: this.#path,\n lastModified: this.lastModified,\n size: end - start,\n start: this.#start + start\n })\n }\n\n async * stream () {\n const { mtimeMs } = await stat(this.#path)\n if (mtimeMs > this.lastModified) {\n throw new DOMException('The requested file could not be read, typically due to permission problems that have occurred after a reference to a file was acquired.', 'NotReadableError')\n }\n yield * createReadStream(this.#path, {\n start: this.#start,\n end: this.#start + this.size - 1\n })\n }\n\n get [Symbol.toStringTag] () {\n return 'Blob'\n }\n}\n\nexport default blobFromSync\nexport { File, Blob, blobFrom, blobFromSync, fileFrom, fileFromSync }\n","import {File} from 'fetch-blob/from.js';\nimport {FormData} from 'formdata-polyfill/esm.min.js';\n\nlet s = 0;\nconst S = {\n\tSTART_BOUNDARY: s++,\n\tHEADER_FIELD_START: s++,\n\tHEADER_FIELD: s++,\n\tHEADER_VALUE_START: s++,\n\tHEADER_VALUE: s++,\n\tHEADER_VALUE_ALMOST_DONE: s++,\n\tHEADERS_ALMOST_DONE: s++,\n\tPART_DATA_START: s++,\n\tPART_DATA: s++,\n\tEND: s++\n};\n\nlet f = 1;\nconst F = {\n\tPART_BOUNDARY: f,\n\tLAST_BOUNDARY: f *= 2\n};\n\nconst LF = 10;\nconst CR = 13;\nconst SPACE = 32;\nconst HYPHEN = 45;\nconst COLON = 58;\nconst A = 97;\nconst Z = 122;\n\nconst lower = c => c | 0x20;\n\nconst noop = () => {};\n\nclass MultipartParser {\n\t/**\n\t * @param {string} boundary\n\t */\n\tconstructor(boundary) {\n\t\tthis.index = 0;\n\t\tthis.flags = 0;\n\n\t\tthis.onHeaderEnd = noop;\n\t\tthis.onHeaderField = noop;\n\t\tthis.onHeadersEnd = noop;\n\t\tthis.onHeaderValue = noop;\n\t\tthis.onPartBegin = noop;\n\t\tthis.onPartData = noop;\n\t\tthis.onPartEnd = noop;\n\n\t\tthis.boundaryChars = {};\n\n\t\tboundary = '\\r\\n--' + boundary;\n\t\tconst ui8a = new Uint8Array(boundary.length);\n\t\tfor (let i = 0; i < boundary.length; i++) {\n\t\t\tui8a[i] = boundary.charCodeAt(i);\n\t\t\tthis.boundaryChars[ui8a[i]] = true;\n\t\t}\n\n\t\tthis.boundary = ui8a;\n\t\tthis.lookbehind = new Uint8Array(this.boundary.length + 8);\n\t\tthis.state = S.START_BOUNDARY;\n\t}\n\n\t/**\n\t * @param {Uint8Array} data\n\t */\n\twrite(data) {\n\t\tlet i = 0;\n\t\tconst length_ = data.length;\n\t\tlet previousIndex = this.index;\n\t\tlet {lookbehind, boundary, boundaryChars, index, state, flags} = this;\n\t\tconst boundaryLength = this.boundary.length;\n\t\tconst boundaryEnd = boundaryLength - 1;\n\t\tconst bufferLength = data.length;\n\t\tlet c;\n\t\tlet cl;\n\n\t\tconst mark = name => {\n\t\t\tthis[name + 'Mark'] = i;\n\t\t};\n\n\t\tconst clear = name => {\n\t\t\tdelete this[name + 'Mark'];\n\t\t};\n\n\t\tconst callback = (callbackSymbol, start, end, ui8a) => {\n\t\t\tif (start === undefined || start !== end) {\n\t\t\t\tthis[callbackSymbol](ui8a && ui8a.subarray(start, end));\n\t\t\t}\n\t\t};\n\n\t\tconst dataCallback = (name, clear) => {\n\t\t\tconst markSymbol = name + 'Mark';\n\t\t\tif (!(markSymbol in this)) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (clear) {\n\t\t\t\tcallback(name, this[markSymbol], i, data);\n\t\t\t\tdelete this[markSymbol];\n\t\t\t} else {\n\t\t\t\tcallback(name, this[markSymbol], data.length, data);\n\t\t\t\tthis[markSymbol] = 0;\n\t\t\t}\n\t\t};\n\n\t\tfor (i = 0; i < length_; i++) {\n\t\t\tc = data[i];\n\n\t\t\tswitch (state) {\n\t\t\t\tcase S.START_BOUNDARY:\n\t\t\t\t\tif (index === boundary.length - 2) {\n\t\t\t\t\t\tif (c === HYPHEN) {\n\t\t\t\t\t\t\tflags |= F.LAST_BOUNDARY;\n\t\t\t\t\t\t} else if (c !== CR) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tindex++;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t} else if (index - 1 === boundary.length - 2) {\n\t\t\t\t\t\tif (flags & F.LAST_BOUNDARY && c === HYPHEN) {\n\t\t\t\t\t\t\tstate = S.END;\n\t\t\t\t\t\t\tflags = 0;\n\t\t\t\t\t\t} else if (!(flags & F.LAST_BOUNDARY) && c === LF) {\n\t\t\t\t\t\t\tindex = 0;\n\t\t\t\t\t\t\tcallback('onPartBegin');\n\t\t\t\t\t\t\tstate = S.HEADER_FIELD_START;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (c !== boundary[index + 2]) {\n\t\t\t\t\t\tindex = -2;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (c === boundary[index + 2]) {\n\t\t\t\t\t\tindex++;\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase S.HEADER_FIELD_START:\n\t\t\t\t\tstate = S.HEADER_FIELD;\n\t\t\t\t\tmark('onHeaderField');\n\t\t\t\t\tindex = 0;\n\t\t\t\t\t// falls through\n\t\t\t\tcase S.HEADER_FIELD:\n\t\t\t\t\tif (c === CR) {\n\t\t\t\t\t\tclear('onHeaderField');\n\t\t\t\t\t\tstate = S.HEADERS_ALMOST_DONE;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\tindex++;\n\t\t\t\t\tif (c === HYPHEN) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (c === COLON) {\n\t\t\t\t\t\tif (index === 1) {\n\t\t\t\t\t\t\t// empty header field\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tdataCallback('onHeaderField', true);\n\t\t\t\t\t\tstate = S.HEADER_VALUE_START;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\tcl = lower(c);\n\t\t\t\t\tif (cl < A || cl > Z) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase S.HEADER_VALUE_START:\n\t\t\t\t\tif (c === SPACE) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\tmark('onHeaderValue');\n\t\t\t\t\tstate = S.HEADER_VALUE;\n\t\t\t\t\t// falls through\n\t\t\t\tcase S.HEADER_VALUE:\n\t\t\t\t\tif (c === CR) {\n\t\t\t\t\t\tdataCallback('onHeaderValue', true);\n\t\t\t\t\t\tcallback('onHeaderEnd');\n\t\t\t\t\t\tstate = S.HEADER_VALUE_ALMOST_DONE;\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase S.HEADER_VALUE_ALMOST_DONE:\n\t\t\t\t\tif (c !== LF) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tstate = S.HEADER_FIELD_START;\n\t\t\t\t\tbreak;\n\t\t\t\tcase S.HEADERS_ALMOST_DONE:\n\t\t\t\t\tif (c !== LF) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tcallback('onHeadersEnd');\n\t\t\t\t\tstate = S.PART_DATA_START;\n\t\t\t\t\tbreak;\n\t\t\t\tcase S.PART_DATA_START:\n\t\t\t\t\tstate = S.PART_DATA;\n\t\t\t\t\tmark('onPartData');\n\t\t\t\t\t// falls through\n\t\t\t\tcase S.PART_DATA:\n\t\t\t\t\tpreviousIndex = index;\n\n\t\t\t\t\tif (index === 0) {\n\t\t\t\t\t\t// boyer-moore derrived algorithm to safely skip non-boundary data\n\t\t\t\t\t\ti += boundaryEnd;\n\t\t\t\t\t\twhile (i < bufferLength && !(data[i] in boundaryChars)) {\n\t\t\t\t\t\t\ti += boundaryLength;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\ti -= boundaryEnd;\n\t\t\t\t\t\tc = data[i];\n\t\t\t\t\t}\n\n\t\t\t\t\tif (index < boundary.length) {\n\t\t\t\t\t\tif (boundary[index] === c) {\n\t\t\t\t\t\t\tif (index === 0) {\n\t\t\t\t\t\t\t\tdataCallback('onPartData', true);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tindex++;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tindex = 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (index === boundary.length) {\n\t\t\t\t\t\tindex++;\n\t\t\t\t\t\tif (c === CR) {\n\t\t\t\t\t\t\t// CR = part boundary\n\t\t\t\t\t\t\tflags |= F.PART_BOUNDARY;\n\t\t\t\t\t\t} else if (c === HYPHEN) {\n\t\t\t\t\t\t\t// HYPHEN = end boundary\n\t\t\t\t\t\t\tflags |= F.LAST_BOUNDARY;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tindex = 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (index - 1 === boundary.length) {\n\t\t\t\t\t\tif (flags & F.PART_BOUNDARY) {\n\t\t\t\t\t\t\tindex = 0;\n\t\t\t\t\t\t\tif (c === LF) {\n\t\t\t\t\t\t\t\t// unset the PART_BOUNDARY flag\n\t\t\t\t\t\t\t\tflags &= ~F.PART_BOUNDARY;\n\t\t\t\t\t\t\t\tcallback('onPartEnd');\n\t\t\t\t\t\t\t\tcallback('onPartBegin');\n\t\t\t\t\t\t\t\tstate = S.HEADER_FIELD_START;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else if (flags & F.LAST_BOUNDARY) {\n\t\t\t\t\t\t\tif (c === HYPHEN) {\n\t\t\t\t\t\t\t\tcallback('onPartEnd');\n\t\t\t\t\t\t\t\tstate = S.END;\n\t\t\t\t\t\t\t\tflags = 0;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tindex = 0;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tindex = 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (index > 0) {\n\t\t\t\t\t\t// when matching a possible boundary, keep a lookbehind reference\n\t\t\t\t\t\t// in case it turns out to be a false lead\n\t\t\t\t\t\tlookbehind[index - 1] = c;\n\t\t\t\t\t} else if (previousIndex > 0) {\n\t\t\t\t\t\t// if our boundary turned out to be rubbish, the captured lookbehind\n\t\t\t\t\t\t// belongs to partData\n\t\t\t\t\t\tconst _lookbehind = new Uint8Array(lookbehind.buffer, lookbehind.byteOffset, lookbehind.byteLength);\n\t\t\t\t\t\tcallback('onPartData', 0, previousIndex, _lookbehind);\n\t\t\t\t\t\tpreviousIndex = 0;\n\t\t\t\t\t\tmark('onPartData');\n\n\t\t\t\t\t\t// reconsider the current character even so it interrupted the sequence\n\t\t\t\t\t\t// it could be the beginning of a new sequence\n\t\t\t\t\t\ti--;\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase S.END:\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new Error(`Unexpected state entered: ${state}`);\n\t\t\t}\n\t\t}\n\n\t\tdataCallback('onHeaderField');\n\t\tdataCallback('onHeaderValue');\n\t\tdataCallback('onPartData');\n\n\t\t// Update properties for the next call\n\t\tthis.index = index;\n\t\tthis.state = state;\n\t\tthis.flags = flags;\n\t}\n\n\tend() {\n\t\tif ((this.state === S.HEADER_FIELD_START && this.index === 0) ||\n\t\t\t(this.state === S.PART_DATA && this.index === this.boundary.length)) {\n\t\t\tthis.onPartEnd();\n\t\t} else if (this.state !== S.END) {\n\t\t\tthrow new Error('MultipartParser.end(): stream ended unexpectedly');\n\t\t}\n\t}\n}\n\nfunction _fileName(headerValue) {\n\t// matches either a quoted-string or a token (RFC 2616 section 19.5.1)\n\tconst m = headerValue.match(/\\bfilename=(\"(.*?)\"|([^()<>@,;:\\\\\"/[\\]?={}\\s\\t]+))($|;\\s)/i);\n\tif (!m) {\n\t\treturn;\n\t}\n\n\tconst match = m[2] || m[3] || '';\n\tlet filename = match.slice(match.lastIndexOf('\\\\') + 1);\n\tfilename = filename.replace(/%22/g, '\"');\n\tfilename = filename.replace(/&#(\\d{4});/g, (m, code) => {\n\t\treturn String.fromCharCode(code);\n\t});\n\treturn filename;\n}\n\nexport async function toFormData(Body, ct) {\n\tif (!/multipart/i.test(ct)) {\n\t\tthrow new TypeError('Failed to fetch');\n\t}\n\n\tconst m = ct.match(/boundary=(?:\"([^\"]+)\"|([^;]+))/i);\n\n\tif (!m) {\n\t\tthrow new TypeError('no or bad content-type header, no multipart boundary');\n\t}\n\n\tconst parser = new MultipartParser(m[1] || m[2]);\n\n\tlet headerField;\n\tlet headerValue;\n\tlet entryValue;\n\tlet entryName;\n\tlet contentType;\n\tlet filename;\n\tconst entryChunks = [];\n\tconst formData = new FormData();\n\n\tconst onPartData = ui8a => {\n\t\tentryValue += decoder.decode(ui8a, {stream: true});\n\t};\n\n\tconst appendToFile = ui8a => {\n\t\tentryChunks.push(ui8a);\n\t};\n\n\tconst appendFileToFormData = () => {\n\t\tconst file = new File(entryChunks, filename, {type: contentType});\n\t\tformData.append(entryName, file);\n\t};\n\n\tconst appendEntryToFormData = () => {\n\t\tformData.append(entryName, entryValue);\n\t};\n\n\tconst decoder = new TextDecoder('utf-8');\n\tdecoder.decode();\n\n\tparser.onPartBegin = function () {\n\t\tparser.onPartData = onPartData;\n\t\tparser.onPartEnd = appendEntryToFormData;\n\n\t\theaderField = '';\n\t\theaderValue = '';\n\t\tentryValue = '';\n\t\tentryName = '';\n\t\tcontentType = '';\n\t\tfilename = null;\n\t\tentryChunks.length = 0;\n\t};\n\n\tparser.onHeaderField = function (ui8a) {\n\t\theaderField += decoder.decode(ui8a, {stream: true});\n\t};\n\n\tparser.onHeaderValue = function (ui8a) {\n\t\theaderValue += decoder.decode(ui8a, {stream: true});\n\t};\n\n\tparser.onHeaderEnd = function () {\n\t\theaderValue += decoder.decode();\n\t\theaderField = headerField.toLowerCase();\n\n\t\tif (headerField === 'content-disposition') {\n\t\t\t// matches either a quoted-string or a token (RFC 2616 section 19.5.1)\n\t\t\tconst m = headerValue.match(/\\bname=(\"([^\"]*)\"|([^()<>@,;:\\\\\"/[\\]?={}\\s\\t]+))/i);\n\n\t\t\tif (m) {\n\t\t\t\tentryName = m[2] || m[3] || '';\n\t\t\t}\n\n\t\t\tfilename = _fileName(headerValue);\n\n\t\t\tif (filename) {\n\t\t\t\tparser.onPartData = appendToFile;\n\t\t\t\tparser.onPartEnd = appendFileToFormData;\n\t\t\t}\n\t\t} else if (headerField === 'content-type') {\n\t\t\tcontentType = headerValue;\n\t\t}\n\n\t\theaderValue = '';\n\t\theaderField = '';\n\t};\n\n\tfor await (const chunk of Body) {\n\t\tparser.write(chunk);\n\t}\n\n\tparser.end();\n\n\treturn formData;\n}\n","import { context } from '@actions/github'\nimport { Chalk } from 'chalk'\nimport { debug } from '@actions/core'\n\nimport { calculateReviewToDismiss } from './calculate-reviews-to-dismiss.ts'\nimport { dismissReviews } from './dismiss-reviews.ts'\nimport { getPrData } from './get-pr-data.ts'\nimport { getOctokit } from './get-octokit.ts'\nimport { getInputs } from './get-inputs.ts'\n\nconst chalk = new Chalk({ level: 2 })\n\nconst run = async () => {\n const { ghToken, ignoreFiles, noOwnerAction, forcePushAction } = getInputs()\n\n const pullRequestContext = context.payload.pull_request\n if (!pullRequestContext) {\n throw new Error(\n 'No pull_request context found. The action must be triggered by pull_request event.',\n )\n }\n\n const pullRequestId = pullRequestContext.node_id as string\n\n const octokit = getOctokit({ ghToken })\n\n const {\n commits: [{ commit: head }],\n latestReviews,\n } = await getPrData({\n octokit,\n pullRequestId,\n })\n\n const latestApprovedReviews = latestReviews.filter(\n ({ state, publishedAt, commit }) =>\n commit &&\n state === 'APPROVED' &&\n publishedAt &&\n publishedAt < head.committedDate,\n )\n\n debug(`Approving reviews: ${JSON.stringify(latestApprovedReviews, null, 2)}`)\n\n if (!latestApprovedReviews.length) {\n console.log(chalk.green`No reviews to dismiss!`)\n\n return\n }\n\n try {\n const reviewsToDismissContext = await calculateReviewToDismiss({\n octokit,\n headCommit: head.abbreviatedOid,\n latestReviews: latestApprovedReviews,\n baseBranch: context.payload.pull_request?.base.ref as string,\n ignoreFiles,\n })\n\n const reviewsToDismiss = reviewsToDismissContext.filesWithoutOwner\n ? latestApprovedReviews\n : reviewsToDismissContext.reviewsToDismiss\n\n if (!reviewsToDismiss.length) {\n console.log(chalk.green`No reviews to dismiss!`)\n\n return\n }\n\n debug(`Reviews to dismiss: ${JSON.stringify(reviewsToDismiss, null, 2)}`)\n\n console.log(\n chalk.green`Reviews to dismiss: ${reviewsToDismiss\n .map(({ author }) => author?.login || 'unknownLogin')\n .join()}`,\n )\n\n // if there are any files without owner, dismiss all reviews\n if (reviewsToDismissContext.filesWithoutOwner) {\n console.log(\n chalk.yellow(\n 'Files without owner:\\n',\n reviewsToDismissContext.filesWithoutOwner.join('/n'),\n ),\n )\n\n if (noOwnerAction === 'dismiss-none') {\n console.log(\n chalk.yellow(\n '\"no-owner-action\" is set to \"dismiss-none\", so no reviews are dismissed.',\n ),\n )\n\n return\n }\n\n await dismissReviews({\n octokit,\n reviewsToDismiss: latestApprovedReviews,\n message: `\n
\n Because some files don’t have owner, all reviews are dismissed.\n

\n\n If you know who should own following files, consider adding the owner to \\`.github/CODEOWNERS\\` file.\n\n - \\`${reviewsToDismissContext.filesWithoutOwner\n .join('`\\n- `')\n .replace(/_/g, '_')}\\`\n\n

\n
\n `.replace(/ +/g, ' '),\n })\n // if there are some files without history let the users know and dismiss reviews calculated for dismiss\n } else if (reviewsToDismissContext.reviewsWithoutHistory.length) {\n console.log(\n chalk.yellow(\n `Files diff can't be resolved for following reviews due to force push:\\n${reviewsToDismissContext.reviewsWithoutHistory\n .map(({ author }) => author?.login)\n .join('\\n')}\\n`,\n ),\n )\n\n if (forcePushAction === 'dismiss-none') {\n console.log(\n chalk.yellow(\n '\"force-push-action\" is set to \"dismiss-none\", so no reviews are dismissed.',\n ),\n )\n\n return\n }\n\n await dismissReviews({\n octokit,\n reviewsToDismiss: reviewsToDismissContext.reviewsToDismiss,\n message: `\n
\n Following reviews were removed because related commit was overwritten by force push.\n

\n \n - \\`${reviewsToDismissContext.reviewsWithoutHistory\n .map(({ author }) => author?.login)\n .join('`\\n- `')}\\`\n \n

\n
\n `.replace(/ +/g, ' '),\n })\n } else {\n await dismissReviews({\n octokit,\n reviewsToDismiss: reviewsToDismissContext.reviewsToDismiss,\n message: 'Stale reviews were dismissed based on ownership',\n })\n }\n } catch (e) {\n console.error(e)\n await dismissReviews({\n octokit,\n message:\n 'Some error occurred in `dismiss-stale-reviews` action, all reviews are dismissed.',\n reviewsToDismiss: latestApprovedReviews,\n })\n }\n}\n\nrun()\n","const ANSI_BACKGROUND_OFFSET = 10;\n\nconst wrapAnsi16 = (offset = 0) => code => `\\u001B[${code + offset}m`;\n\nconst wrapAnsi256 = (offset = 0) => code => `\\u001B[${38 + offset};5;${code}m`;\n\nconst wrapAnsi16m = (offset = 0) => (red, green, blue) => `\\u001B[${38 + offset};2;${red};${green};${blue}m`;\n\nconst styles = {\n\tmodifier: {\n\t\treset: [0, 0],\n\t\t// 21 isn't widely supported and 22 does the same thing\n\t\tbold: [1, 22],\n\t\tdim: [2, 22],\n\t\titalic: [3, 23],\n\t\tunderline: [4, 24],\n\t\toverline: [53, 55],\n\t\tinverse: [7, 27],\n\t\thidden: [8, 28],\n\t\tstrikethrough: [9, 29],\n\t},\n\tcolor: {\n\t\tblack: [30, 39],\n\t\tred: [31, 39],\n\t\tgreen: [32, 39],\n\t\tyellow: [33, 39],\n\t\tblue: [34, 39],\n\t\tmagenta: [35, 39],\n\t\tcyan: [36, 39],\n\t\twhite: [37, 39],\n\n\t\t// Bright color\n\t\tblackBright: [90, 39],\n\t\tgray: [90, 39], // Alias of `blackBright`\n\t\tgrey: [90, 39], // Alias of `blackBright`\n\t\tredBright: [91, 39],\n\t\tgreenBright: [92, 39],\n\t\tyellowBright: [93, 39],\n\t\tblueBright: [94, 39],\n\t\tmagentaBright: [95, 39],\n\t\tcyanBright: [96, 39],\n\t\twhiteBright: [97, 39],\n\t},\n\tbgColor: {\n\t\tbgBlack: [40, 49],\n\t\tbgRed: [41, 49],\n\t\tbgGreen: [42, 49],\n\t\tbgYellow: [43, 49],\n\t\tbgBlue: [44, 49],\n\t\tbgMagenta: [45, 49],\n\t\tbgCyan: [46, 49],\n\t\tbgWhite: [47, 49],\n\n\t\t// Bright color\n\t\tbgBlackBright: [100, 49],\n\t\tbgGray: [100, 49], // Alias of `bgBlackBright`\n\t\tbgGrey: [100, 49], // Alias of `bgBlackBright`\n\t\tbgRedBright: [101, 49],\n\t\tbgGreenBright: [102, 49],\n\t\tbgYellowBright: [103, 49],\n\t\tbgBlueBright: [104, 49],\n\t\tbgMagentaBright: [105, 49],\n\t\tbgCyanBright: [106, 49],\n\t\tbgWhiteBright: [107, 49],\n\t},\n};\n\nexport const modifierNames = Object.keys(styles.modifier);\nexport const foregroundColorNames = Object.keys(styles.color);\nexport const backgroundColorNames = Object.keys(styles.bgColor);\nexport const colorNames = [...foregroundColorNames, ...backgroundColorNames];\n\nfunction assembleStyles() {\n\tconst codes = new Map();\n\n\tfor (const [groupName, group] of Object.entries(styles)) {\n\t\tfor (const [styleName, style] of Object.entries(group)) {\n\t\t\tstyles[styleName] = {\n\t\t\t\topen: `\\u001B[${style[0]}m`,\n\t\t\t\tclose: `\\u001B[${style[1]}m`,\n\t\t\t};\n\n\t\t\tgroup[styleName] = styles[styleName];\n\n\t\t\tcodes.set(style[0], style[1]);\n\t\t}\n\n\t\tObject.defineProperty(styles, groupName, {\n\t\t\tvalue: group,\n\t\t\tenumerable: false,\n\t\t});\n\t}\n\n\tObject.defineProperty(styles, 'codes', {\n\t\tvalue: codes,\n\t\tenumerable: false,\n\t});\n\n\tstyles.color.close = '\\u001B[39m';\n\tstyles.bgColor.close = '\\u001B[49m';\n\n\tstyles.color.ansi = wrapAnsi16();\n\tstyles.color.ansi256 = wrapAnsi256();\n\tstyles.color.ansi16m = wrapAnsi16m();\n\tstyles.bgColor.ansi = wrapAnsi16(ANSI_BACKGROUND_OFFSET);\n\tstyles.bgColor.ansi256 = wrapAnsi256(ANSI_BACKGROUND_OFFSET);\n\tstyles.bgColor.ansi16m = wrapAnsi16m(ANSI_BACKGROUND_OFFSET);\n\n\t// From https://github.com/Qix-/color-convert/blob/3f0e0d4e92e235796ccb17f6e85c72094a651f49/conversions.js\n\tObject.defineProperties(styles, {\n\t\trgbToAnsi256: {\n\t\t\tvalue(red, green, blue) {\n\t\t\t\t// We use the extended greyscale palette here, with the exception of\n\t\t\t\t// black and white. normal palette only has 4 greyscale shades.\n\t\t\t\tif (red === green && green === blue) {\n\t\t\t\t\tif (red < 8) {\n\t\t\t\t\t\treturn 16;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (red > 248) {\n\t\t\t\t\t\treturn 231;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn Math.round(((red - 8) / 247) * 24) + 232;\n\t\t\t\t}\n\n\t\t\t\treturn 16\n\t\t\t\t\t+ (36 * Math.round(red / 255 * 5))\n\t\t\t\t\t+ (6 * Math.round(green / 255 * 5))\n\t\t\t\t\t+ Math.round(blue / 255 * 5);\n\t\t\t},\n\t\t\tenumerable: false,\n\t\t},\n\t\thexToRgb: {\n\t\t\tvalue(hex) {\n\t\t\t\tconst matches = /[a-f\\d]{6}|[a-f\\d]{3}/i.exec(hex.toString(16));\n\t\t\t\tif (!matches) {\n\t\t\t\t\treturn [0, 0, 0];\n\t\t\t\t}\n\n\t\t\t\tlet [colorString] = matches;\n\n\t\t\t\tif (colorString.length === 3) {\n\t\t\t\t\tcolorString = [...colorString].map(character => character + character).join('');\n\t\t\t\t}\n\n\t\t\t\tconst integer = Number.parseInt(colorString, 16);\n\n\t\t\t\treturn [\n\t\t\t\t\t/* eslint-disable no-bitwise */\n\t\t\t\t\t(integer >> 16) & 0xFF,\n\t\t\t\t\t(integer >> 8) & 0xFF,\n\t\t\t\t\tinteger & 0xFF,\n\t\t\t\t\t/* eslint-enable no-bitwise */\n\t\t\t\t];\n\t\t\t},\n\t\t\tenumerable: false,\n\t\t},\n\t\thexToAnsi256: {\n\t\t\tvalue: hex => styles.rgbToAnsi256(...styles.hexToRgb(hex)),\n\t\t\tenumerable: false,\n\t\t},\n\t\tansi256ToAnsi: {\n\t\t\tvalue(code) {\n\t\t\t\tif (code < 8) {\n\t\t\t\t\treturn 30 + code;\n\t\t\t\t}\n\n\t\t\t\tif (code < 16) {\n\t\t\t\t\treturn 90 + (code - 8);\n\t\t\t\t}\n\n\t\t\t\tlet red;\n\t\t\t\tlet green;\n\t\t\t\tlet blue;\n\n\t\t\t\tif (code >= 232) {\n\t\t\t\t\tred = (((code - 232) * 10) + 8) / 255;\n\t\t\t\t\tgreen = red;\n\t\t\t\t\tblue = red;\n\t\t\t\t} else {\n\t\t\t\t\tcode -= 16;\n\n\t\t\t\t\tconst remainder = code % 36;\n\n\t\t\t\t\tred = Math.floor(code / 36) / 5;\n\t\t\t\t\tgreen = Math.floor(remainder / 6) / 5;\n\t\t\t\t\tblue = (remainder % 6) / 5;\n\t\t\t\t}\n\n\t\t\t\tconst value = Math.max(red, green, blue) * 2;\n\n\t\t\t\tif (value === 0) {\n\t\t\t\t\treturn 30;\n\t\t\t\t}\n\n\t\t\t\t// eslint-disable-next-line no-bitwise\n\t\t\t\tlet result = 30 + ((Math.round(blue) << 2) | (Math.round(green) << 1) | Math.round(red));\n\n\t\t\t\tif (value === 2) {\n\t\t\t\t\tresult += 60;\n\t\t\t\t}\n\n\t\t\t\treturn result;\n\t\t\t},\n\t\t\tenumerable: false,\n\t\t},\n\t\trgbToAnsi: {\n\t\t\tvalue: (red, green, blue) => styles.ansi256ToAnsi(styles.rgbToAnsi256(red, green, blue)),\n\t\t\tenumerable: false,\n\t\t},\n\t\thexToAnsi: {\n\t\t\tvalue: hex => styles.ansi256ToAnsi(styles.hexToAnsi256(hex)),\n\t\t\tenumerable: false,\n\t\t},\n\t});\n\n\treturn styles;\n}\n\nconst ansiStyles = assembleStyles();\n\nexport default ansiStyles;\n","import process from 'node:process';\nimport os from 'node:os';\nimport tty from 'node:tty';\n\n// From: https://github.com/sindresorhus/has-flag/blob/main/index.js\n/// function hasFlag(flag, argv = globalThis.Deno?.args ?? process.argv) {\nfunction hasFlag(flag, argv = globalThis.Deno ? globalThis.Deno.args : process.argv) {\n\tconst prefix = flag.startsWith('-') ? '' : (flag.length === 1 ? '-' : '--');\n\tconst position = argv.indexOf(prefix + flag);\n\tconst terminatorPosition = argv.indexOf('--');\n\treturn position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);\n}\n\nconst {env} = process;\n\nlet flagForceColor;\nif (\n\thasFlag('no-color')\n\t|| hasFlag('no-colors')\n\t|| hasFlag('color=false')\n\t|| hasFlag('color=never')\n) {\n\tflagForceColor = 0;\n} else if (\n\thasFlag('color')\n\t|| hasFlag('colors')\n\t|| hasFlag('color=true')\n\t|| hasFlag('color=always')\n) {\n\tflagForceColor = 1;\n}\n\nfunction envForceColor() {\n\tif ('FORCE_COLOR' in env) {\n\t\tif (env.FORCE_COLOR === 'true') {\n\t\t\treturn 1;\n\t\t}\n\n\t\tif (env.FORCE_COLOR === 'false') {\n\t\t\treturn 0;\n\t\t}\n\n\t\treturn env.FORCE_COLOR.length === 0 ? 1 : Math.min(Number.parseInt(env.FORCE_COLOR, 10), 3);\n\t}\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(haveStream, {streamIsTTY, sniffFlags = true} = {}) {\n\tconst noFlagForceColor = envForceColor();\n\tif (noFlagForceColor !== undefined) {\n\t\tflagForceColor = noFlagForceColor;\n\t}\n\n\tconst forceColor = sniffFlags ? flagForceColor : noFlagForceColor;\n\n\tif (forceColor === 0) {\n\t\treturn 0;\n\t}\n\n\tif (sniffFlags) {\n\t\tif (hasFlag('color=16m')\n\t\t\t|| hasFlag('color=full')\n\t\t\t|| hasFlag('color=truecolor')) {\n\t\t\treturn 3;\n\t\t}\n\n\t\tif (hasFlag('color=256')) {\n\t\t\treturn 2;\n\t\t}\n\t}\n\n\t// Check for Azure DevOps pipelines.\n\t// Has to be above the `!streamIsTTY` check.\n\tif ('TF_BUILD' in env && 'AGENT_NAME' in env) {\n\t\treturn 1;\n\t}\n\n\tif (haveStream && !streamIsTTY && forceColor === undefined) {\n\t\treturn 0;\n\t}\n\n\tconst min = forceColor || 0;\n\n\tif (env.TERM === 'dumb') {\n\t\treturn min;\n\t}\n\n\tif (process.platform === 'win32') {\n\t\t// Windows 10 build 10586 is the first Windows release that supports 256 colors.\n\t\t// Windows 10 build 14931 is the first release that supports 16m/TrueColor.\n\t\tconst osRelease = os.release().split('.');\n\t\tif (\n\t\t\tNumber(osRelease[0]) >= 10\n\t\t\t&& Number(osRelease[2]) >= 10_586\n\t\t) {\n\t\t\treturn Number(osRelease[2]) >= 14_931 ? 3 : 2;\n\t\t}\n\n\t\treturn 1;\n\t}\n\n\tif ('CI' in env) {\n\t\tif ('GITHUB_ACTIONS' in env || 'GITEA_ACTIONS' in env) {\n\t\t\treturn 3;\n\t\t}\n\n\t\tif (['TRAVIS', 'CIRCLECI', 'APPVEYOR', 'GITLAB_CI', 'BUILDKITE', 'DRONE'].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 (env.TERM === 'xterm-kitty') {\n\t\treturn 3;\n\t}\n\n\tif ('TERM_PROGRAM' in env) {\n\t\tconst version = Number.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\t}\n\n\t\t\tcase 'Apple_Terminal': {\n\t\t\t\treturn 2;\n\t\t\t}\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\treturn min;\n}\n\nexport function createSupportsColor(stream, options = {}) {\n\tconst level = _supportsColor(stream, {\n\t\tstreamIsTTY: stream && stream.isTTY,\n\t\t...options,\n\t});\n\n\treturn translateLevel(level);\n}\n\nconst supportsColor = {\n\tstdout: createSupportsColor({isTTY: tty.isatty(1)}),\n\tstderr: createSupportsColor({isTTY: tty.isatty(2)}),\n};\n\nexport default supportsColor;\n","// TODO: When targeting Node.js 16, use `String.prototype.replaceAll`.\nexport function stringReplaceAll(string, substring, replacer) {\n\tlet index = string.indexOf(substring);\n\tif (index === -1) {\n\t\treturn string;\n\t}\n\n\tconst substringLength = substring.length;\n\tlet endIndex = 0;\n\tlet returnValue = '';\n\tdo {\n\t\treturnValue += string.slice(endIndex, index) + substring + replacer;\n\t\tendIndex = index + substringLength;\n\t\tindex = string.indexOf(substring, endIndex);\n\t} while (index !== -1);\n\n\treturnValue += string.slice(endIndex);\n\treturn returnValue;\n}\n\nexport function stringEncaseCRLFWithFirstIndex(string, prefix, postfix, index) {\n\tlet endIndex = 0;\n\tlet returnValue = '';\n\tdo {\n\t\tconst gotCR = string[index - 1] === '\\r';\n\t\treturnValue += string.slice(endIndex, (gotCR ? index - 1 : index)) + prefix + (gotCR ? '\\r\\n' : '\\n') + postfix;\n\t\tendIndex = index + 1;\n\t\tindex = string.indexOf('\\n', endIndex);\n\t} while (index !== -1);\n\n\treturnValue += string.slice(endIndex);\n\treturn returnValue;\n}\n","import ansiStyles from '#ansi-styles';\nimport supportsColor from '#supports-color';\nimport { // eslint-disable-line import/order\n\tstringReplaceAll,\n\tstringEncaseCRLFWithFirstIndex,\n} from './utilities.js';\n\nconst {stdout: stdoutColor, stderr: stderrColor} = supportsColor;\n\nconst GENERATOR = Symbol('GENERATOR');\nconst STYLER = Symbol('STYLER');\nconst IS_EMPTY = Symbol('IS_EMPTY');\n\n// `supportsColor.level` → `ansiStyles.color[name]` mapping\nconst levelMapping = [\n\t'ansi',\n\t'ansi',\n\t'ansi256',\n\t'ansi16m',\n];\n\nconst styles = Object.create(null);\n\nconst applyOptions = (object, options = {}) => {\n\tif (options.level && !(Number.isInteger(options.level) && options.level >= 0 && options.level <= 3)) {\n\t\tthrow new Error('The `level` option should be an integer from 0 to 3');\n\t}\n\n\t// Detect level if not set manually\n\tconst colorLevel = stdoutColor ? stdoutColor.level : 0;\n\tobject.level = options.level === undefined ? colorLevel : options.level;\n};\n\nexport class Chalk {\n\tconstructor(options) {\n\t\t// eslint-disable-next-line no-constructor-return\n\t\treturn chalkFactory(options);\n\t}\n}\n\nconst chalkFactory = options => {\n\tconst chalk = (...strings) => strings.join(' ');\n\tapplyOptions(chalk, options);\n\n\tObject.setPrototypeOf(chalk, createChalk.prototype);\n\n\treturn chalk;\n};\n\nfunction createChalk(options) {\n\treturn chalkFactory(options);\n}\n\nObject.setPrototypeOf(createChalk.prototype, Function.prototype);\n\nfor (const [styleName, style] of Object.entries(ansiStyles)) {\n\tstyles[styleName] = {\n\t\tget() {\n\t\t\tconst builder = createBuilder(this, createStyler(style.open, style.close, this[STYLER]), this[IS_EMPTY]);\n\t\t\tObject.defineProperty(this, styleName, {value: builder});\n\t\t\treturn builder;\n\t\t},\n\t};\n}\n\nstyles.visible = {\n\tget() {\n\t\tconst builder = createBuilder(this, this[STYLER], true);\n\t\tObject.defineProperty(this, 'visible', {value: builder});\n\t\treturn builder;\n\t},\n};\n\nconst getModelAnsi = (model, level, type, ...arguments_) => {\n\tif (model === 'rgb') {\n\t\tif (level === 'ansi16m') {\n\t\t\treturn ansiStyles[type].ansi16m(...arguments_);\n\t\t}\n\n\t\tif (level === 'ansi256') {\n\t\t\treturn ansiStyles[type].ansi256(ansiStyles.rgbToAnsi256(...arguments_));\n\t\t}\n\n\t\treturn ansiStyles[type].ansi(ansiStyles.rgbToAnsi(...arguments_));\n\t}\n\n\tif (model === 'hex') {\n\t\treturn getModelAnsi('rgb', level, type, ...ansiStyles.hexToRgb(...arguments_));\n\t}\n\n\treturn ansiStyles[type][model](...arguments_);\n};\n\nconst usedModels = ['rgb', 'hex', 'ansi256'];\n\nfor (const model of usedModels) {\n\tstyles[model] = {\n\t\tget() {\n\t\t\tconst {level} = this;\n\t\t\treturn function (...arguments_) {\n\t\t\t\tconst styler = createStyler(getModelAnsi(model, levelMapping[level], 'color', ...arguments_), ansiStyles.color.close, this[STYLER]);\n\t\t\t\treturn createBuilder(this, styler, this[IS_EMPTY]);\n\t\t\t};\n\t\t},\n\t};\n\n\tconst bgModel = 'bg' + model[0].toUpperCase() + model.slice(1);\n\tstyles[bgModel] = {\n\t\tget() {\n\t\t\tconst {level} = this;\n\t\t\treturn function (...arguments_) {\n\t\t\t\tconst styler = createStyler(getModelAnsi(model, levelMapping[level], 'bgColor', ...arguments_), ansiStyles.bgColor.close, this[STYLER]);\n\t\t\t\treturn createBuilder(this, styler, this[IS_EMPTY]);\n\t\t\t};\n\t\t},\n\t};\n}\n\nconst proto = Object.defineProperties(() => {}, {\n\t...styles,\n\tlevel: {\n\t\tenumerable: true,\n\t\tget() {\n\t\t\treturn this[GENERATOR].level;\n\t\t},\n\t\tset(level) {\n\t\t\tthis[GENERATOR].level = level;\n\t\t},\n\t},\n});\n\nconst createStyler = (open, close, parent) => {\n\tlet openAll;\n\tlet closeAll;\n\tif (parent === undefined) {\n\t\topenAll = open;\n\t\tcloseAll = close;\n\t} else {\n\t\topenAll = parent.openAll + open;\n\t\tcloseAll = close + parent.closeAll;\n\t}\n\n\treturn {\n\t\topen,\n\t\tclose,\n\t\topenAll,\n\t\tcloseAll,\n\t\tparent,\n\t};\n};\n\nconst createBuilder = (self, _styler, _isEmpty) => {\n\t// Single argument is hot path, implicit coercion is faster than anything\n\t// eslint-disable-next-line no-implicit-coercion\n\tconst builder = (...arguments_) => applyStyle(builder, (arguments_.length === 1) ? ('' + arguments_[0]) : arguments_.join(' '));\n\n\t// We alter the prototype because we must return a function, but there is\n\t// no way to create a function with a different prototype\n\tObject.setPrototypeOf(builder, proto);\n\n\tbuilder[GENERATOR] = self;\n\tbuilder[STYLER] = _styler;\n\tbuilder[IS_EMPTY] = _isEmpty;\n\n\treturn builder;\n};\n\nconst applyStyle = (self, string) => {\n\tif (self.level <= 0 || !string) {\n\t\treturn self[IS_EMPTY] ? '' : string;\n\t}\n\n\tlet styler = self[STYLER];\n\n\tif (styler === undefined) {\n\t\treturn string;\n\t}\n\n\tconst {openAll, closeAll} = styler;\n\tif (string.includes('\\u001B')) {\n\t\twhile (styler !== undefined) {\n\t\t\t// Replace any instances already present with a re-opening code\n\t\t\t// otherwise only the part of the string until said closing code\n\t\t\t// will be colored, and the rest will simply be 'plain'.\n\t\t\tstring = stringReplaceAll(string, styler.close, styler.open);\n\n\t\t\tstyler = styler.parent;\n\t\t}\n\t}\n\n\t// We can move both next actions out of loop, because remaining actions in loop won't have\n\t// any/visible effect on parts we add here. Close the styling before a linebreak and reopen\n\t// after next line to fix a bleed issue on macOS: https://github.com/chalk/chalk/pull/92\n\tconst lfIndex = string.indexOf('\\n');\n\tif (lfIndex !== -1) {\n\t\tstring = stringEncaseCRLFWithFirstIndex(string, closeAll, openAll, lfIndex);\n\t}\n\n\treturn openAll + string + closeAll;\n};\n\nObject.defineProperties(createChalk.prototype, styles);\n\nconst chalk = createChalk();\nexport const chalkStderr = createChalk({level: stderrColor ? stderrColor.level : 0});\n\nexport {\n\tmodifierNames,\n\tforegroundColorNames,\n\tbackgroundColorNames,\n\tcolorNames,\n\n\t// TODO: Remove these aliases in the next major version\n\tmodifierNames as modifiers,\n\tforegroundColorNames as foregroundColors,\n\tbackgroundColorNames as backgroundColors,\n\tcolorNames as colors,\n} from './vendor/ansi-styles/index.js';\n\nexport {\n\tstdoutColor as supportsColor,\n\tstderrColor as supportsColorStderr,\n};\n\nexport default chalk;\n","import { debug } from '@actions/core'\nimport { groupReviewsByCommit } from './group-reviews-by-commit.ts'\nimport { getOctokit } from './get-octokit.ts'\nimport { getTeamData } from './get-team-data.ts'\n\nexport type Review = {\n author: {\n login: string\n } | null\n commit: {\n abbreviatedOid: string\n } | null\n}\n\nexport const calculateReviewToDismiss = async ({\n latestReviews,\n headCommit,\n baseBranch,\n ignoreFiles,\n octokit,\n}: {\n latestReviews: TReview[]\n headCommit: string\n baseBranch: string\n ignoreFiles?: string[]\n octokit: ReturnType\n}) => {\n const { groupedReviewsByCommit, reviewsWithoutHistory } =\n await groupReviewsByCommit({\n latestReviews,\n headCommit,\n baseBranch,\n ignoreFiles,\n })\n\n const filesWithoutOwner = [\n ...new Set(\n Object.values(groupedReviewsByCommit)\n .map(({ filesChangedByHeadCommit }) =>\n filesChangedByHeadCommit\n .filter(({ owners }) => !owners.length)\n .map(({ filename }) => filename),\n )\n .flat(),\n ),\n ]\n\n // if there are some files without owner, we are not able to assign a review to those files\n // and because of that we need to dismiss all reviews\n if (filesWithoutOwner.length) {\n return {\n filesWithoutOwner,\n }\n }\n\n const reviewsToDismiss: typeof latestReviews = [...reviewsWithoutHistory]\n\n const teamMembers: Record = {}\n\n for (const { filesChangedByHeadCommit, reviews } of Object.values(\n groupedReviewsByCommit,\n )) {\n // list of unique file owners\n const changedFilesOwners = [\n ...new Set(filesChangedByHeadCommit.map(({ owners }) => owners).flat()),\n ]\n\n const changedFilesTeamOwners = changedFilesOwners\n .filter(owner => owner.includes('/'))\n .map(teamOwnership => teamOwnership.replace('@', ''))\n\n // for loop is used to synchronously go through all commits and team data can be fetched first without overfetching\n // eslint-disable-next-line no-await-in-loop\n await Promise.all(\n changedFilesTeamOwners\n // fetch team members only if they were not fetched yet\n .filter(team => !Object.keys(teamMembers).includes(team))\n .map(async team => {\n const teamHandle = team.split('/')\n teamMembers[team] = (\n await getTeamData({\n octokit,\n organizationLogin: teamHandle[0],\n teamSlug: teamHandle[1],\n })\n ).members\n }),\n )\n\n // for loop is used to synchronously go through all commits and team data can be fetched first without overfetching\n // eslint-disable-next-line no-await-in-loop\n await Promise.all(\n reviews.map(async review => {\n const { author } = review\n\n debug(`Check if review of user ${author?.login} should be dismissed`)\n\n if (\n !author ||\n // if review author is mentioned directly as an owner of changed files, dismiss their review\n (author.login && changedFilesOwners.includes(`@${author.login}`))\n ) {\n debug(\n `User ${author?.login} is owner of changed files and their review should be dismissed`,\n )\n reviewsToDismiss.push(review)\n\n return\n }\n\n // if the files are not owned by teams we can exit early, the user is already checked\n if (!changedFilesTeamOwners.length) {\n return\n }\n\n for (const teamOwnership of changedFilesTeamOwners) {\n if (teamMembers[teamOwnership]?.includes(author.login)) {\n debug(\n `User ${author.login} is member of ${teamOwnership} team and their review will be dismissed`,\n )\n reviewsToDismiss.push(review)\n } else {\n debug(`User ${author.login} is not member of ${teamOwnership} team`)\n }\n }\n }),\n )\n }\n\n return {\n reviewsToDismiss,\n reviewsWithoutHistory,\n }\n}\n","import { debug } from '@actions/core'\nimport { simpleGit } from 'simple-git'\nimport { Chalk } from 'chalk'\nimport Codeowners from 'codeowners'\nimport { minimatch } from 'minimatch'\n\nimport { getHeadDiffSinceReview } from './get-head-diff-since-review.ts'\n\nconst chalk = new Chalk({ level: 2 })\n\ntype Review = {\n author: {\n login: string\n } | null\n commit: {\n abbreviatedOid: string\n } | null\n}\n\nexport const groupReviewsByCommit = async ({\n latestReviews,\n headCommit,\n baseBranch,\n ignoreFiles,\n}: {\n latestReviews: TReview[]\n headCommit: string\n baseBranch: string\n ignoreFiles?: string[]\n}) => {\n const codeowners = new Codeowners()\n const git = simpleGit()\n const reviewsWithoutHistory: typeof latestReviews = []\n const groupedReviewsByCommit: Record<\n string,\n {\n filesChangedByHeadCommit: { filename: string; owners: string[] }[]\n reviews: typeof latestReviews\n }\n > = {}\n await Promise.all(\n latestReviews.map(async review => {\n const reviewCommit = review.commit?.abbreviatedOid as string\n const basehead = `${reviewCommit}..${headCommit}`\n\n // if group exists, just push the review to the group\n if (groupedReviewsByCommit[basehead]) {\n groupedReviewsByCommit[basehead].reviews.push(review)\n\n return\n }\n\n try {\n // check if commit exists in history\n await git.catFile(['commit', reviewCommit])\n } catch {\n // if commit doesn't exist, make related approve ready for dismiss and continue\n console.log(\n '\\n',\n chalk.yellow`Commit '${reviewCommit}' doesn't exist in the history. It may be because it was overwritten by force push or because it's outside of checkout depth.`,\n '\\n',\n chalk.yellow`Approval by ${review.author?.login} will be removed.`,\n '\\n',\n )\n reviewsWithoutHistory.push(review)\n\n return\n }\n\n const filesChangedByHeadCommit = await getHeadDiffSinceReview({\n reviewAssociatedSha: reviewCommit,\n headSha: headCommit,\n baseBranch,\n })\n\n debug(`Changes in ${basehead}:\\n${filesChangedByHeadCommit.join('\\n')}`)\n\n groupedReviewsByCommit[basehead] = {\n reviews: [review],\n // filter out ignored files\n filesChangedByHeadCommit: filesChangedByHeadCommit\n .filter(\n filename =>\n !ignoreFiles?.some(pattern =>\n minimatch(filename, pattern, { dot: true }),\n ),\n )\n .map(filename => ({\n owners: codeowners.getOwner(filename),\n filename,\n })),\n }\n }),\n )\n\n return { reviewsWithoutHistory, groupedReviewsByCommit }\n}\n","const cache = new WeakMap();\n\nexport function pathspec(...paths: string[]) {\n const key = new String(paths);\n cache.set(key, paths);\n\n return key as string;\n}\n\nexport function isPathSpec(path: string | unknown): path is string {\n return path instanceof String && cache.has(path);\n}\n\nexport function toPaths(pathSpec: string): string[] {\n return cache.get(pathSpec) || [];\n}\n","import type { SimpleGitTask } from '../types';\n\n/**\n * The `GitError` is thrown when the underlying `git` process throws a\n * fatal exception (eg an `ENOENT` exception when attempting to use a\n * non-writable directory as the root for your repo), and acts as the\n * base class for more specific errors thrown by the parsing of the\n * git response or errors in the configuration of the task about to\n * be run.\n *\n * When an exception is thrown, pending tasks in the same instance will\n * not be executed. The recommended way to run a series of tasks that\n * can independently fail without needing to prevent future tasks from\n * running is to catch them individually:\n *\n * ```typescript\n import { gitP, SimpleGit, GitError, PullResult } from 'simple-git';\n\n function catchTask (e: GitError) {\n return e.\n }\n\n const git = gitP(repoWorkingDir);\n const pulled: PullResult | GitError = await git.pull().catch(catchTask);\n const pushed: string | GitError = await git.pushTags().catch(catchTask);\n ```\n */\nexport class GitError extends Error {\n constructor(public task?: SimpleGitTask, message?: string) {\n super(message);\n Object.setPrototypeOf(this, new.target.prototype);\n }\n}\n","import { GitError } from './git-error';\n\n/**\n * The `GitResponseError` is the wrapper for a parsed response that is treated as\n * a fatal error, for example attempting a `merge` can leave the repo in a corrupted\n * state when there are conflicts so the task will reject rather than resolve.\n *\n * For example, catching the merge conflict exception:\n *\n * ```typescript\n import { gitP, SimpleGit, GitResponseError, MergeSummary } from 'simple-git';\n\n const git = gitP(repoRoot);\n const mergeOptions: string[] = ['--no-ff', 'other-branch'];\n const mergeSummary: MergeSummary = await git.merge(mergeOptions)\n .catch((e: GitResponseError) => e.git);\n\n if (mergeSummary.failed) {\n // deal with the error\n }\n ```\n */\nexport class GitResponseError extends GitError {\n constructor(\n /**\n * `.git` access the parsed response that is treated as being an error\n */\n public readonly git: T,\n message?: string\n ) {\n super(undefined, message || String(git));\n }\n}\n","import { GitError } from './git-error';\n\n/**\n * The `TaskConfigurationError` is thrown when a command was incorrectly\n * configured. An error of this kind means that no attempt was made to\n * run your command through the underlying `git` binary.\n *\n * Check the `.message` property for more detail on why your configuration\n * resulted in an error.\n */\nexport class TaskConfigurationError extends GitError {\n constructor(message?: string) {\n super(undefined, message);\n }\n}\n","import { exists, FOLDER } from '@kwsites/file-exists';\nimport { Maybe } from '../types';\n\nexport const NULL = '\\0';\n\nexport const NOOP: (...args: any[]) => void = () => {};\n\n/**\n * Returns either the source argument when it is a `Function`, or the default\n * `NOOP` function constant\n */\nexport function asFunction any>(source: T | any): T {\n return typeof source === 'function' ? source : NOOP;\n}\n\n/**\n * Determines whether the supplied argument is both a function, and is not\n * the `NOOP` function.\n */\nexport function isUserFunction(source: T | any): source is T {\n return typeof source === 'function' && source !== NOOP;\n}\n\nexport function splitOn(input: string, char: string): [string, string] {\n const index = input.indexOf(char);\n if (index <= 0) {\n return [input, ''];\n }\n\n return [input.substr(0, index), input.substr(index + 1)];\n}\n\nexport function first(input: T, offset?: number): Maybe;\nexport function first(input: T, offset?: number): Maybe;\nexport function first(input: any[] | IArguments, offset = 0): Maybe {\n return isArrayLike(input) && input.length > offset ? input[offset] : undefined;\n}\n\nexport function last(input: T, offset?: number): Maybe;\nexport function last(input: T, offset?: number): Maybe;\nexport function last(input: T, offset?: number): Maybe;\nexport function last(input: unknown, offset = 0) {\n if (isArrayLike(input) && input.length > offset) {\n return input[input.length - 1 - offset];\n }\n}\n\ntype ArrayLike = T[] | IArguments | { [index: number]: T; length: number };\n\nfunction isArrayLike(input: any): input is ArrayLike {\n return !!(input && typeof input.length === 'number');\n}\n\nexport function toLinesWithContent(input = '', trimmed = true, separator = '\\n'): string[] {\n return input.split(separator).reduce((output, line) => {\n const lineContent = trimmed ? line.trim() : line;\n if (lineContent) {\n output.push(lineContent);\n }\n return output;\n }, [] as string[]);\n}\n\ntype LineWithContentCallback = (line: string) => T;\n\nexport function forEachLineWithContent(\n input: string,\n callback: LineWithContentCallback\n): T[] {\n return toLinesWithContent(input, true).map((line) => callback(line));\n}\n\nexport function folderExists(path: string): boolean {\n return exists(path, FOLDER);\n}\n\n/**\n * Adds `item` into the `target` `Array` or `Set` when it is not already present and returns the `item`.\n */\nexport function append(target: T[] | Set, item: T): typeof 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}\n\n/**\n * Adds `item` into the `target` `Array` when it is not already present and returns the `target`.\n */\nexport function including(target: T[], item: T): typeof target {\n if (Array.isArray(target) && !target.includes(item)) {\n target.push(item);\n }\n\n return target;\n}\n\nexport function remove(target: Set | T[], item: T): T {\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}\n\nexport const objectToString = Object.prototype.toString.call.bind(Object.prototype.toString) as (\n input: any\n) => string;\n\nexport function asArray(source: T | T[]): T[] {\n return Array.isArray(source) ? source : [source];\n}\n\nexport function asStringArray(source: T | T[]): string[] {\n return asArray(source).map(String);\n}\n\nexport function asNumber(source: string | null | undefined, onNaN = 0) {\n if (source == null) {\n return onNaN;\n }\n\n const num = parseInt(source, 10);\n return isNaN(num) ? onNaN : num;\n}\n\nexport function prefixedArray(input: T[], prefix: T): T[] {\n const output: T[] = [];\n for (let i = 0, max = input.length; i < max; i++) {\n output.push(prefix, input[i]);\n }\n return output;\n}\n\nexport function bufferToString(input: Buffer | Buffer[]): string {\n return (Array.isArray(input) ? Buffer.concat(input) : input).toString('utf-8');\n}\n\n/**\n * Get a new object from a source object with only the listed properties.\n */\nexport function pick(source: Record, properties: string[]) {\n return Object.assign(\n {},\n ...properties.map((property) => (property in source ? { [property]: source[property] } : {}))\n );\n}\n\nexport function delay(duration = 0): Promise {\n return new Promise((done) => setTimeout(done, duration));\n}\n","import { Maybe, Options, Primitives } from '../types';\nimport { objectToString } from './util';\nimport { isPathSpec } from '../args/pathspec';\n\nexport interface ArgumentFilterPredicate {\n (input: any): input is T;\n}\n\nexport function filterType(\n input: K,\n filter: ArgumentFilterPredicate\n): K extends T ? T : undefined;\nexport function filterType(input: K, filter: ArgumentFilterPredicate, def: T): T;\nexport function filterType(input: K, filter: ArgumentFilterPredicate, def?: T): Maybe {\n if (filter(input)) {\n return input;\n }\n return arguments.length > 2 ? def : undefined;\n}\n\nexport const filterArray: ArgumentFilterPredicate> = (input): input is Array => {\n return Array.isArray(input);\n};\n\nexport function filterPrimitives(\n input: unknown,\n omit?: Array<'boolean' | 'string' | 'number'>\n): input is Primitives {\n const type = isPathSpec(input) ? 'string' : typeof input;\n\n return (\n /number|string|boolean/.test(type) &&\n (!omit || !omit.includes(type as 'boolean' | 'string' | 'number'))\n );\n}\n\nexport const filterString: ArgumentFilterPredicate = (input): input is string => {\n return typeof input === 'string';\n};\n\nexport const filterStringArray: ArgumentFilterPredicate = (input): input is string[] => {\n return Array.isArray(input) && input.every(filterString);\n};\n\nexport const filterStringOrStringArray: ArgumentFilterPredicate = (\n input\n): input is string | string[] => {\n return filterString(input) || (Array.isArray(input) && input.every(filterString));\n};\n\nexport function filterPlainObject(input: T | unknown): input is T;\nexport function filterPlainObject(input: T | unknown): input is T {\n return !!input && objectToString(input) === '[object Object]';\n}\n\nexport function filterFunction(input: unknown): input is Function {\n return typeof input === 'function';\n}\n\nexport const filterHasLength: ArgumentFilterPredicate<{ length: number }> = (\n input\n): input is { length: number } => {\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 * Known process exit codes used by the task parsers to determine whether an error\n * was one they can automatically handle\n */\nexport enum ExitCodes {\n SUCCESS,\n ERROR,\n NOT_FOUND = -2,\n UNCLEAN = 128,\n}\n","import { TaskResponseFormat } from '../types';\n\nexport class GitOutputStreams {\n constructor(public readonly stdOut: T, public readonly stdErr: T) {}\n\n asStrings(): GitOutputStreams {\n return new GitOutputStreams(this.stdOut.toString('utf8'), this.stdErr.toString('utf8'));\n }\n}\n","export class LineParser {\n protected matches: string[] = [];\n\n private _regExp: RegExp[];\n\n constructor(\n regExp: RegExp | RegExp[],\n useMatches?: (target: T, match: string[]) => boolean | void\n ) {\n this._regExp = Array.isArray(regExp) ? regExp : [regExp];\n if (useMatches) {\n this.useMatches = useMatches;\n }\n }\n\n parse = (line: (offset: number) => string | undefined, target: T): boolean => {\n this.resetMatches();\n\n if (!this._regExp.every((reg, index) => this.addMatch(reg, index, line(index)))) {\n return false;\n }\n\n return this.useMatches(target, this.prepareMatches()) !== false;\n };\n\n // @ts-ignore\n protected useMatches(target: T, match: string[]): boolean | void {\n throw new Error(`LineParser:useMatches not implemented`);\n }\n\n protected resetMatches() {\n this.matches.length = 0;\n }\n\n protected prepareMatches() {\n return this.matches;\n }\n\n protected addMatch(reg: RegExp, index: number, line?: string) {\n const matched = line && reg.exec(line);\n if (matched) {\n this.pushMatch(index, matched);\n }\n\n return !!matched;\n }\n\n protected pushMatch(_index: number, matched: string[]) {\n this.matches.push(...matched.slice(1));\n }\n}\n\nexport class RemoteLineParser extends LineParser {\n protected addMatch(reg: RegExp, index: number, line?: string): boolean {\n return /^remote:\\s/.test(String(line)) && super.addMatch(reg, index, line);\n }\n\n protected pushMatch(index: number, matched: string[]) {\n if (index > 0 || matched.length > 1) {\n super.pushMatch(index, matched);\n }\n }\n}\n","import { SimpleGitOptions } from '../types';\n\nconst defaultOptions: Omit = {\n binary: 'git',\n maxConcurrentProcesses: 5,\n config: [],\n trimmed: false,\n};\n\nexport function createInstanceConfig(\n ...options: Array | undefined>\n): SimpleGitOptions {\n const baseDir = process.cwd();\n const config: SimpleGitOptions = Object.assign(\n { baseDir, ...defaultOptions },\n ...options.filter((o) => typeof o === 'object' && o)\n );\n\n config.baseDir = config.baseDir || baseDir;\n config.trimmed = config.trimmed === true;\n\n return config;\n}\n","import {\n filterArray,\n filterFunction,\n filterPlainObject,\n filterPrimitives,\n filterType,\n} from './argument-filters';\nimport { asFunction, isUserFunction, last } from './util';\nimport { Maybe, Options, OptionsValues } from '../types';\nimport { isPathSpec } from '../args/pathspec';\n\nexport function appendTaskOptions(\n options: Maybe,\n commands: string[] = []\n): string[] {\n if (!filterPlainObject(options)) {\n return commands;\n }\n\n return Object.keys(options).reduce((commands: string[], key: string) => {\n const value: OptionsValues = options[key];\n\n if (isPathSpec(value)) {\n commands.push(value);\n } else if (filterPrimitives(value, ['boolean'])) {\n commands.push(key + '=' + value);\n } else {\n commands.push(key);\n }\n\n return commands;\n }, commands);\n}\n\nexport function getTrailingOptions(\n args: IArguments,\n initialPrimitive = 0,\n objectOnly = false\n): string[] {\n const command: string[] = [];\n\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\n appendTaskOptions(trailingOptionsArgument(args), command);\n if (!objectOnly) {\n command.push(...trailingArrayArgument(args));\n }\n\n return command;\n}\n\nfunction trailingArrayArgument(args: IArguments) {\n const hasTrailingCallback = typeof last(args) === 'function';\n return filterType(last(args, hasTrailingCallback ? 1 : 0), filterArray, []);\n}\n\n/**\n * Given any number of arguments, returns the trailing options argument, ignoring a trailing function argument\n * if there is one. When not found, the return value is null.\n */\nexport function trailingOptionsArgument(args: IArguments): Maybe {\n const hasTrailingCallback = filterFunction(last(args));\n return filterType(last(args, hasTrailingCallback ? 1 : 0), filterPlainObject);\n}\n\n/**\n * Returns either the source argument when it is a `Function`, or the default\n * `NOOP` function constant\n */\nexport function trailingFunctionArgument(\n args: unknown[] | IArguments | unknown,\n includeNoop = true\n): Maybe<(...args: any[]) => unknown> {\n const callback = asFunction(last(args));\n return includeNoop || isUserFunction(callback) ? callback : undefined;\n}\n","import type { MaybeArray, TaskParser, TaskResponseFormat } from '../types';\nimport { GitOutputStreams } from './git-output-streams';\nimport { LineParser } from './line-parser';\nimport { asArray, toLinesWithContent } from './util';\n\nexport function callTaskParser(\n parser: TaskParser,\n streams: GitOutputStreams\n) {\n return parser(streams.stdOut, streams.stdErr);\n}\n\nexport function parseStringResponse(\n result: T,\n parsers: LineParser[],\n texts: MaybeArray,\n trim = true\n): T {\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\n parsers.some(({ parse }) => parse(line, result));\n }\n });\n\n return result;\n}\n","export * from './argument-filters';\nexport * from './exit-codes';\nexport * from './git-output-streams';\nexport * from './line-parser';\nexport * from './simple-git-options';\nexport * from './task-options';\nexport * from './task-parser';\nexport * from './util';\n","import { ExitCodes } from '../utils';\nimport { Maybe, StringTask } from '../types';\n\nexport enum CheckRepoActions {\n BARE = 'bare',\n IN_TREE = 'tree',\n IS_REPO_ROOT = 'root',\n}\n\nconst onError: StringTask['onError'] = ({ exitCode }, error, done, fail) => {\n if (exitCode === ExitCodes.UNCLEAN && isNotRepoMessage(error)) {\n return done(Buffer.from('false'));\n }\n\n fail(error);\n};\n\nconst parser: StringTask['parser'] = (text) => {\n return text.trim() === 'true';\n};\n\nexport function checkIsRepoTask(action: Maybe): StringTask {\n switch (action) {\n case CheckRepoActions.BARE:\n return checkIsBareRepoTask();\n case CheckRepoActions.IS_REPO_ROOT:\n return checkIsRepoRootTask();\n }\n\n const commands = ['rev-parse', '--is-inside-work-tree'];\n\n return {\n commands,\n format: 'utf-8',\n onError,\n parser,\n };\n}\n\nexport function checkIsRepoRootTask(): StringTask {\n const commands = ['rev-parse', '--git-dir'];\n\n return {\n commands,\n format: 'utf-8',\n onError,\n parser(path) {\n return /^\\.(git)?$/.test(path.trim());\n },\n };\n}\n\nexport function checkIsBareRepoTask(): StringTask {\n const commands = ['rev-parse', '--is-bare-repository'];\n\n return {\n commands,\n format: 'utf-8',\n onError,\n parser,\n };\n}\n\nfunction isNotRepoMessage(error: Error): boolean {\n return /(Not a git repository|Kein Git-Repository)/i.test(String(error));\n}\n","import { CleanSummary } from '../../../typings';\nimport { toLinesWithContent } from '../utils';\n\nexport class CleanResponse implements CleanSummary {\n public paths: string[] = [];\n public files: string[] = [];\n public folders: string[] = [];\n\n constructor(public readonly dryRun: boolean) {}\n}\n\nconst removalRegexp = /^[a-z]+\\s*/i;\nconst dryRunRemovalRegexp = /^[a-z]+\\s+[a-z]+\\s*/i;\nconst isFolderRegexp = /\\/$/;\n\nexport function cleanSummaryParser(dryRun: boolean, text: string): CleanSummary {\n const summary = new CleanResponse(dryRun);\n const regexp = dryRun ? dryRunRemovalRegexp : removalRegexp;\n\n toLinesWithContent(text).forEach((line) => {\n const removed = line.replace(regexp, '');\n\n summary.paths.push(removed);\n (isFolderRegexp.test(removed) ? summary.folders : summary.files).push(removed);\n });\n\n return summary;\n}\n","import { TaskConfigurationError } from '../errors/task-configuration-error';\nimport type { BufferTask, EmptyTaskParser, SimpleGitTask, StringTask } from '../types';\n\nexport const EMPTY_COMMANDS: [] = [];\n\nexport type EmptyTask = {\n commands: typeof EMPTY_COMMANDS;\n format: 'empty';\n parser: EmptyTaskParser;\n onError?: undefined;\n};\n\nexport function adhocExecTask(parser: EmptyTaskParser): EmptyTask {\n return {\n commands: EMPTY_COMMANDS,\n format: 'empty',\n parser,\n };\n}\n\nexport function configurationErrorTask(error: Error | string): EmptyTask {\n return {\n commands: EMPTY_COMMANDS,\n format: 'empty',\n parser() {\n throw typeof error === 'string' ? new TaskConfigurationError(error) : error;\n },\n };\n}\n\nexport function straightThroughStringTask(commands: string[], trimmed = false): StringTask {\n return {\n commands,\n format: 'utf-8',\n parser(text) {\n return trimmed ? String(text).trim() : text;\n },\n };\n}\n\nexport function straightThroughBufferTask(commands: string[]): BufferTask {\n return {\n commands,\n format: 'buffer',\n parser(buffer) {\n return buffer;\n },\n };\n}\n\nexport function isBufferTask(task: SimpleGitTask): task is BufferTask {\n return task.format === 'buffer';\n}\n\nexport function isEmptyTask(task: SimpleGitTask): task is EmptyTask {\n return task.format === 'empty' || !task.commands.length;\n}\n","import { CleanSummary } from '../../../typings';\nimport { cleanSummaryParser } from '../responses/CleanSummary';\nimport { Maybe, StringTask } from '../types';\nimport { asStringArray } from '../utils';\nimport { configurationErrorTask } from './task';\n\nexport const CONFIG_ERROR_INTERACTIVE_MODE = 'Git clean interactive mode is not supported';\nexport const CONFIG_ERROR_MODE_REQUIRED = 'Git clean mode parameter (\"n\" or \"f\") is required';\nexport const CONFIG_ERROR_UNKNOWN_OPTION = 'Git clean unknown option found in: ';\n\n/**\n * All supported option switches available for use in a `git.clean` operation\n */\nexport enum CleanOptions {\n DRY_RUN = 'n',\n FORCE = 'f',\n IGNORED_INCLUDED = 'x',\n IGNORED_ONLY = 'X',\n EXCLUDING = 'e',\n QUIET = 'q',\n RECURSIVE = 'd',\n}\n\n/**\n * The two modes `git.clean` can run in - one of these must be supplied in order\n * for the command to not throw a `TaskConfigurationError`\n */\nexport type CleanMode = CleanOptions.FORCE | CleanOptions.DRY_RUN;\n\nconst CleanOptionValues: Set = new Set([\n 'i',\n ...asStringArray(Object.values(CleanOptions as any)),\n]);\n\nexport function cleanWithOptionsTask(mode: CleanMode | string, customArgs: string[]) {\n const { cleanMode, options, valid } = getCleanOptions(mode);\n\n if (!cleanMode) {\n return configurationErrorTask(CONFIG_ERROR_MODE_REQUIRED);\n }\n\n if (!valid.options) {\n return configurationErrorTask(CONFIG_ERROR_UNKNOWN_OPTION + JSON.stringify(mode));\n }\n\n options.push(...customArgs);\n\n if (options.some(isInteractiveMode)) {\n return configurationErrorTask(CONFIG_ERROR_INTERACTIVE_MODE);\n }\n\n return cleanTask(cleanMode, options);\n}\n\nexport function cleanTask(mode: CleanMode, customArgs: string[]): StringTask {\n const commands: string[] = ['clean', `-${mode}`, ...customArgs];\n\n return {\n commands,\n format: 'utf-8',\n parser(text: string): CleanSummary {\n return cleanSummaryParser(mode === CleanOptions.DRY_RUN, text);\n },\n };\n}\n\nexport function isCleanOptionsArray(input: string[]): input is CleanOptions[] {\n return Array.isArray(input) && input.every((test) => CleanOptionValues.has(test));\n}\n\nfunction getCleanOptions(input: string) {\n let cleanMode: Maybe;\n let options: string[] = [];\n let valid = { cleanMode: false, options: true };\n\n input\n .replace(/[^a-z]i/g, '')\n .split('')\n .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\n return {\n cleanMode,\n options,\n valid,\n };\n}\n\nfunction isCleanMode(cleanMode?: string): cleanMode is CleanMode {\n return cleanMode === CleanOptions.FORCE || cleanMode === CleanOptions.DRY_RUN;\n}\n\nfunction isKnownOption(option: string): boolean {\n return /^-[a-z]$/i.test(option) && CleanOptionValues.has(option.charAt(1));\n}\n\nfunction isInteractiveMode(option: string): boolean {\n if (/^-[^\\-]/.test(option)) {\n return option.indexOf('i') > 0;\n }\n\n return option === '--interactive';\n}\n","import { ConfigGetResult, ConfigListSummary, ConfigValues } from '../../../typings';\nimport { last, splitOn } from '../utils';\n\nexport class ConfigList implements ConfigListSummary {\n public files: string[] = [];\n public values: { [fileName: string]: ConfigValues } = Object.create(null);\n\n private _all: ConfigValues | undefined;\n\n public get all(): ConfigValues {\n if (!this._all) {\n this._all = this.files.reduce((all: ConfigValues, file: string) => {\n return Object.assign(all, this.values[file]);\n }, {});\n }\n\n return this._all;\n }\n\n public addFile(file: string): ConfigValues {\n if (!(file in this.values)) {\n const latest = last(this.files);\n this.values[file] = latest ? Object.create(this.values[latest]) : {};\n\n this.files.push(file);\n }\n\n return this.values[file];\n }\n\n public addValue(file: string, key: string, value: string) {\n const values = this.addFile(file);\n\n if (!values.hasOwnProperty(key)) {\n values[key] = value;\n } else if (Array.isArray(values[key])) {\n (values[key] as string[]).push(value);\n } else {\n values[key] = [values[key] as string, value];\n }\n\n this._all = undefined;\n }\n}\n\nexport function configListParser(text: string): ConfigList {\n const config = new ConfigList();\n\n for (const item of configParser(text)) {\n config.addValue(item.file, String(item.key), item.value);\n }\n\n return config;\n}\n\nexport function configGetParser(text: string, key: string): ConfigGetResult {\n let value: string | null = null;\n const values: string[] = [];\n const scopes: Map = new Map();\n\n for (const item of configParser(text, key)) {\n if (item.key !== key) {\n continue;\n }\n\n values.push((value = item.value));\n\n if (!scopes.has(item.file)) {\n scopes.set(item.file, []);\n }\n\n scopes.get(item.file)!.push(value);\n }\n\n return {\n key,\n paths: Array.from(scopes.keys()),\n scopes,\n value,\n values,\n };\n}\n\nfunction configFilePath(filePath: string): string {\n return filePath.replace(/^(file):/, '');\n}\n\nfunction* configParser(text: string, requestedKey: string | null = null) {\n const lines = text.split('\\0');\n\n for (let i = 0, max = lines.length - 1; i < max; ) {\n const file = configFilePath(lines[i++]);\n\n let value = lines[i++];\n let key = requestedKey;\n\n if (value.includes('\\n')) {\n const line = splitOn(value, '\\n');\n key = line[0];\n value = line[1];\n }\n\n yield { file, key, value };\n }\n}\n","import type { ConfigGetResult, ConfigListSummary, SimpleGit } from '../../../typings';\nimport { configGetParser, configListParser } from '../responses/ConfigList';\nimport type { SimpleGitApi } from '../simple-git-api';\nimport type { StringTask } from '../types';\nimport { trailingFunctionArgument } from '../utils';\n\nexport enum GitConfigScope {\n system = 'system',\n global = 'global',\n local = 'local',\n worktree = 'worktree',\n}\n\nfunction asConfigScope(\n scope: GitConfigScope | unknown,\n fallback: T\n): GitConfigScope | T {\n if (typeof scope === 'string' && GitConfigScope.hasOwnProperty(scope)) {\n return scope as GitConfigScope;\n }\n return fallback;\n}\n\nfunction addConfigTask(\n key: string,\n value: string,\n append: boolean,\n scope: GitConfigScope\n): StringTask {\n const commands: string[] = ['config', `--${scope}`];\n\n if (append) {\n commands.push('--add');\n }\n\n commands.push(key, value);\n\n return {\n commands,\n format: 'utf-8',\n parser(text: string): string {\n return text;\n },\n };\n}\n\nfunction getConfigTask(key: string, scope?: GitConfigScope): StringTask {\n const commands: string[] = ['config', '--null', '--show-origin', '--get-all', key];\n\n if (scope) {\n commands.splice(1, 0, `--${scope}`);\n }\n\n return {\n commands,\n format: 'utf-8',\n parser(text) {\n return configGetParser(text, key);\n },\n };\n}\n\nfunction listConfigTask(scope?: GitConfigScope): StringTask {\n const commands = ['config', '--list', '--show-origin', '--null'];\n\n if (scope) {\n commands.push(`--${scope}`);\n }\n\n return {\n commands,\n format: 'utf-8',\n parser(text: string) {\n return configListParser(text);\n },\n };\n}\n\nexport default function (): Pick {\n return {\n addConfig(this: SimpleGitApi, key: string, value: string, ...rest: unknown[]) {\n return this._runTask(\n addConfigTask(\n key,\n value,\n rest[0] === true,\n asConfigScope(rest[1], GitConfigScope.local)\n ),\n trailingFunctionArgument(arguments)\n );\n },\n\n getConfig(this: SimpleGitApi, key: string, scope?: GitConfigScope) {\n return this._runTask(\n getConfigTask(key, asConfigScope(scope, undefined)),\n trailingFunctionArgument(arguments)\n );\n },\n\n listConfig(this: SimpleGitApi, ...rest: unknown[]) {\n return this._runTask(\n listConfigTask(asConfigScope(rest[0], undefined)),\n trailingFunctionArgument(arguments)\n );\n },\n };\n}\n","import { GrepResult, SimpleGit } from '../../../typings';\nimport { SimpleGitApi } from '../simple-git-api';\nimport {\n asNumber,\n forEachLineWithContent,\n getTrailingOptions,\n NULL,\n prefixedArray,\n trailingFunctionArgument,\n} from '../utils';\n\nimport { configurationErrorTask } from './task';\n\nconst disallowedOptions = ['-h'];\n\nconst Query = Symbol('grepQuery');\n\nexport interface GitGrepQuery extends Iterable {\n /** Adds one or more terms to be grouped as an \"and\" to any other terms */\n and(...and: string[]): this;\n\n /** Adds one or more search terms - git.grep will \"or\" this to other terms */\n param(...param: string[]): this;\n}\n\nclass GrepQuery implements GitGrepQuery {\n private [Query]: string[] = [];\n\n *[Symbol.iterator]() {\n for (const query of this[Query]) {\n yield query;\n }\n }\n\n and(...and: string[]) {\n and.length && this[Query].push('--and', '(', ...prefixedArray(and, '-e'), ')');\n return this;\n }\n\n param(...param: string[]) {\n this[Query].push(...prefixedArray(param, '-e'));\n return this;\n }\n}\n\n/**\n * Creates a new builder for a `git.grep` query with optional params\n */\nexport function grepQueryBuilder(...params: string[]): GitGrepQuery {\n return new GrepQuery().param(...params);\n}\n\nfunction parseGrep(grep: string): GrepResult {\n const paths: GrepResult['paths'] = new Set();\n const results: GrepResult['results'] = {};\n\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\n return {\n paths,\n results,\n };\n}\n\nexport default function (): Pick {\n return {\n grep(this: SimpleGitApi, searchTerm: string | GitGrepQuery) {\n const then = trailingFunctionArgument(arguments);\n const options = getTrailingOptions(arguments);\n\n for (const option of disallowedOptions) {\n if (options.includes(option)) {\n return this._runTask(\n configurationErrorTask(`git.grep: use of \"${option}\" is not supported.`),\n then\n );\n }\n }\n\n if (typeof searchTerm === 'string') {\n searchTerm = grepQueryBuilder().param(searchTerm);\n }\n\n const commands = ['grep', '--null', '-n', '--full-name', ...options, ...searchTerm];\n\n return this._runTask(\n {\n commands,\n format: 'utf-8',\n parser(stdOut) {\n return parseGrep(stdOut);\n },\n },\n then\n );\n },\n };\n}\n","import { straightThroughStringTask } from './task';\nimport { Maybe, OptionFlags, Options } from '../types';\n\nexport enum ResetMode {\n MIXED = 'mixed',\n SOFT = 'soft',\n HARD = 'hard',\n MERGE = 'merge',\n KEEP = 'keep',\n}\n\nconst ResetModes = Array.from(Object.values(ResetMode));\n\nexport type ResetOptions = Options &\n OptionFlags<'-q' | '--quiet' | '--no-quiet' | '--pathspec-from-nul'> &\n OptionFlags<'--pathspec-from-file', string>;\n\nexport function resetTask(mode: Maybe, customArgs: string[]) {\n const commands: string[] = ['reset'];\n if (isValidResetMode(mode)) {\n commands.push(`--${mode}`);\n }\n commands.push(...customArgs);\n\n return straightThroughStringTask(commands);\n}\n\nexport function getResetMode(mode: ResetMode | any): Maybe {\n if (isValidResetMode(mode)) {\n return mode;\n }\n\n switch (typeof mode) {\n case 'string':\n case 'undefined':\n return ResetMode.SOFT;\n }\n\n return;\n}\n\nfunction isValidResetMode(mode: ResetMode | any): mode is ResetMode {\n return ResetModes.includes(mode);\n}\n","import debug, { Debugger } from 'debug';\nimport {\n append,\n filterHasLength,\n filterString,\n filterType,\n NOOP,\n objectToString,\n remove,\n} from './utils';\nimport { Maybe } from './types';\n\ndebug.formatters.L = (value: any) => String(filterHasLength(value) ? value.length : '-');\ndebug.formatters.B = (value: Buffer) => {\n if (Buffer.isBuffer(value)) {\n return value.toString('utf8');\n }\n return objectToString(value);\n};\n\ntype OutputLoggingHandler = (message: string, ...args: any[]) => void;\n\nfunction createLog() {\n return debug('simple-git');\n}\n\nexport interface OutputLogger extends OutputLoggingHandler {\n readonly label: string;\n\n info: OutputLoggingHandler;\n step(nextStep?: string): OutputLogger;\n sibling(name: string): OutputLogger;\n}\n\nfunction prefixedLogger(\n to: Debugger,\n prefix: string,\n forward?: OutputLoggingHandler\n): OutputLoggingHandler {\n if (!prefix || !String(prefix).replace(/\\s*/, '')) {\n return !forward\n ? to\n : (message, ...args) => {\n to(message, ...args);\n forward(message, ...args);\n };\n }\n\n return (message, ...args) => {\n to(`%s ${message}`, prefix, ...args);\n if (forward) {\n forward(message, ...args);\n }\n };\n}\n\nfunction childLoggerName(\n name: Maybe,\n childDebugger: Maybe,\n { namespace: parentNamespace }: Debugger\n): string {\n if (typeof name === 'string') {\n return name;\n }\n const childNamespace = (childDebugger && childDebugger.namespace) || '';\n\n if (childNamespace.startsWith(parentNamespace)) {\n return childNamespace.substr(parentNamespace.length + 1);\n }\n\n return childNamespace || parentNamespace;\n}\n\nexport function createLogger(\n label: string,\n verbose?: string | Debugger,\n initialStep?: string,\n infoDebugger = createLog()\n): OutputLogger {\n const labelPrefix = (label && `[${label}]`) || '';\n\n const spawned: OutputLogger[] = [];\n const debugDebugger: Maybe =\n typeof verbose === 'string' ? infoDebugger.extend(verbose) : verbose;\n const key = childLoggerName(filterType(verbose, filterString), debugDebugger, infoDebugger);\n\n return step(initialStep);\n\n function sibling(name: string, initial?: string) {\n return append(\n spawned,\n createLogger(label, key.replace(/^[^:]+/, name), initial, infoDebugger)\n );\n }\n\n function step(phase?: string) {\n const stepPrefix = (phase && `[${phase}]`) || '';\n const debug = (debugDebugger && prefixedLogger(debugDebugger, stepPrefix)) || NOOP;\n const info = prefixedLogger(infoDebugger, `${labelPrefix} ${stepPrefix}`, debug);\n\n return Object.assign(debugDebugger ? debug : info, {\n label,\n sibling,\n info,\n step,\n });\n }\n}\n\n/**\n * The `GitLogger` is used by the main `SimpleGit` runner to handle logging\n * any warnings or errors.\n */\nexport class GitLogger {\n public error: OutputLoggingHandler;\n\n public warn: OutputLoggingHandler;\n\n constructor(private _out: Debugger = createLog()) {\n this.error = prefixedLogger(_out, '[ERROR]');\n this.warn = prefixedLogger(_out, '[WARN]');\n }\n\n silent(silence = false) {\n if (silence !== this._out.enabled) {\n return;\n }\n\n const { namespace } = this._out;\n const env = (process.env.DEBUG || '').split(',').filter((s) => !!s);\n const hasOn = env.includes(namespace);\n const hasOff = env.includes(`-${namespace}`);\n\n // enabling the log\n if (!silence) {\n if (hasOff) {\n remove(env, `-${namespace}`);\n } else {\n env.push(namespace);\n }\n } else {\n if (hasOn) {\n remove(env, namespace);\n } else {\n env.push(`-${namespace}`);\n }\n }\n\n debug.enable(env.join(','));\n }\n}\n","import { SimpleGitTask } from '../types';\nimport { GitError } from '../errors/git-error';\nimport { createLogger, OutputLogger } from '../git-logger';\n\ntype AnySimpleGitTask = SimpleGitTask;\n\ntype TaskInProgress = {\n name: string;\n logger: OutputLogger;\n task: AnySimpleGitTask;\n};\n\nexport class TasksPendingQueue {\n private _queue: Map = new Map();\n\n constructor(private logLabel = 'GitExecutor') {}\n\n private withProgress(task: AnySimpleGitTask) {\n return this._queue.get(task);\n }\n\n private createProgress(task: AnySimpleGitTask): TaskInProgress {\n const name = TasksPendingQueue.getName(task.commands[0]);\n const logger = createLogger(this.logLabel, name);\n\n return {\n task,\n logger,\n name,\n };\n }\n\n push(task: AnySimpleGitTask): TaskInProgress {\n const progress = this.createProgress(task);\n progress.logger('Adding task to the queue, commands = %o', task.commands);\n\n this._queue.set(task, progress);\n\n return progress;\n }\n\n fatal(err: GitError) {\n for (const [task, { logger }] of Array.from(this._queue.entries())) {\n if (task === err.task) {\n logger.info(`Failed %o`, err);\n logger(\n `Fatal exception, any as-yet un-started tasks run through this executor will not be attempted`\n );\n } else {\n logger.info(\n `A fatal exception occurred in a previous task, the queue has been purged: %o`,\n err.message\n );\n }\n\n this.complete(task);\n }\n\n if (this._queue.size !== 0) {\n throw new Error(`Queue size should be zero after fatal: ${this._queue.size}`);\n }\n }\n\n complete(task: AnySimpleGitTask) {\n const progress = this.withProgress(task);\n if (progress) {\n this._queue.delete(task);\n }\n }\n\n attempt(task: AnySimpleGitTask): TaskInProgress {\n const progress = this.withProgress(task);\n if (!progress) {\n throw new GitError(undefined, 'TasksPendingQueue: attempt called for an unknown task');\n }\n progress.logger('Starting task');\n\n return progress;\n }\n\n static getName(name = 'empty') {\n return `task:${name}:${++TasksPendingQueue.counter}`;\n }\n\n private static counter = 0;\n}\n","import { spawn, SpawnOptions } from 'child_process';\nimport { GitError } from '../errors/git-error';\nimport { OutputLogger } from '../git-logger';\nimport { PluginStore } from '../plugins';\nimport { EmptyTask, isBufferTask, isEmptyTask } from '../tasks/task';\nimport {\n GitExecutorResult,\n Maybe,\n outputHandler,\n RunnableTask,\n SimpleGitExecutor,\n SimpleGitTask,\n} from '../types';\nimport { callTaskParser, first, GitOutputStreams, objectToString } from '../utils';\nimport { Scheduler } from './scheduler';\nimport { TasksPendingQueue } from './tasks-pending-queue';\n\nexport class GitExecutorChain implements SimpleGitExecutor {\n private _chain: Promise = Promise.resolve();\n private _queue = new TasksPendingQueue();\n private _cwd: string | undefined;\n\n public get binary() {\n return this._executor.binary;\n }\n\n public get cwd() {\n return this._cwd || this._executor.cwd;\n }\n\n public set cwd(cwd: string) {\n this._cwd = cwd;\n }\n\n public get env() {\n return this._executor.env;\n }\n\n public get outputHandler() {\n return this._executor.outputHandler;\n }\n\n constructor(\n private _executor: SimpleGitExecutor,\n private _scheduler: Scheduler,\n private _plugins: PluginStore\n ) {}\n\n public chain() {\n return this;\n }\n\n public push(task: SimpleGitTask): Promise {\n this._queue.push(task);\n\n return (this._chain = this._chain.then(() => this.attemptTask(task)));\n }\n\n private async attemptTask(task: SimpleGitTask): Promise {\n const onScheduleComplete = await this._scheduler.next();\n const onQueueComplete = () => this._queue.complete(task);\n\n try {\n const { logger } = this._queue.attempt(task);\n return (await (isEmptyTask(task)\n ? this.attemptEmptyTask(task, logger)\n : this.attemptRemoteTask(task, logger))) as R;\n } catch (e) {\n throw this.onFatalException(task, e as Error);\n } finally {\n onQueueComplete();\n onScheduleComplete();\n }\n }\n\n private onFatalException(task: SimpleGitTask, e: Error) {\n const gitError =\n e instanceof GitError ? Object.assign(e, { task }) : new GitError(task, e && String(e));\n\n this._chain = Promise.resolve();\n this._queue.fatal(gitError);\n\n return gitError;\n }\n\n private async attemptRemoteTask(task: RunnableTask, logger: OutputLogger) {\n const args = this._plugins.exec(\n 'spawn.args',\n [...task.commands],\n pluginContext(task, task.commands)\n );\n\n const raw = await this.gitResponse(\n task,\n this.binary,\n args,\n this.outputHandler,\n logger.step('SPAWN')\n );\n const outputStreams = await this.handleTaskData(task, args, raw, logger.step('HANDLE'));\n\n logger(`passing response to task's parser as a %s`, task.format);\n\n if (isBufferTask(task)) {\n return callTaskParser(task.parser, outputStreams);\n }\n\n return callTaskParser(task.parser, outputStreams.asStrings());\n }\n\n private async attemptEmptyTask(task: EmptyTask, logger: OutputLogger) {\n logger(`empty task bypassing child process to call to task's parser`);\n return task.parser(this);\n }\n\n private handleTaskData(\n task: SimpleGitTask,\n args: string[],\n result: GitExecutorResult,\n logger: OutputLogger\n ): Promise {\n const { exitCode, rejection, stdOut, stdErr } = result;\n\n return new Promise((done, fail) => {\n logger(`Preparing to handle process response exitCode=%d stdOut=`, exitCode);\n\n const { error } = this._plugins.exec(\n 'task.error',\n { error: rejection },\n {\n ...pluginContext(task, args),\n ...result,\n }\n );\n\n if (error && task.onError) {\n logger.info(`exitCode=%s handling with custom error handler`);\n\n return task.onError(\n result,\n error,\n (newStdOut) => {\n logger.info(`custom error handler treated as success`);\n logger(`custom error returned a %s`, objectToString(newStdOut));\n\n done(\n new GitOutputStreams(\n Array.isArray(newStdOut) ? Buffer.concat(newStdOut) : newStdOut,\n Buffer.concat(stdErr)\n )\n );\n },\n fail\n );\n }\n\n if (error) {\n logger.info(\n `handling as error: exitCode=%s stdErr=%s rejection=%o`,\n exitCode,\n stdErr.length,\n rejection\n );\n return fail(error);\n }\n\n logger.info(`retrieving task output complete`);\n done(new GitOutputStreams(Buffer.concat(stdOut), Buffer.concat(stdErr)));\n });\n }\n\n private async gitResponse(\n task: SimpleGitTask,\n command: string,\n args: string[],\n outputHandler: Maybe,\n logger: OutputLogger\n ): Promise {\n const outputLogger = logger.sibling('output');\n const spawnOptions: SpawnOptions = this._plugins.exec(\n 'spawn.options',\n {\n cwd: this.cwd,\n env: this.env,\n windowsHide: true,\n },\n pluginContext(task, task.commands)\n );\n\n return new Promise((done) => {\n const stdOut: Buffer[] = [];\n const stdErr: Buffer[] = [];\n\n logger.info(`%s %o`, command, args);\n logger('%O', spawnOptions);\n\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\n this._plugins.exec('spawn.before', undefined, {\n ...pluginContext(task, args),\n kill(reason) {\n rejection = reason || rejection;\n },\n });\n\n const spawned = spawn(command, args, spawnOptions);\n\n spawned.stdout!.on(\n 'data',\n onDataReceived(stdOut, 'stdOut', logger, outputLogger.step('stdOut'))\n );\n spawned.stderr!.on(\n 'data',\n onDataReceived(stdErr, 'stdErr', logger, outputLogger.step('stdErr'))\n );\n\n spawned.on('error', onErrorReceived(stdErr, logger));\n\n if (outputHandler) {\n logger(`Passing child process stdOut/stdErr to custom outputHandler`);\n outputHandler(command, spawned.stdout!, spawned.stderr!, [...args]);\n }\n\n this._plugins.exec('spawn.after', undefined, {\n ...pluginContext(task, args),\n spawned,\n close(exitCode: number, reason?: Error) {\n done({\n stdOut,\n stdErr,\n exitCode,\n rejection: rejection || reason,\n });\n },\n kill(reason: Error) {\n if (spawned.killed) {\n return;\n }\n\n rejection = reason;\n spawned.kill('SIGINT');\n },\n });\n });\n }\n\n private _beforeSpawn(task: SimpleGitTask, args: string[]) {\n let rejection: Maybe;\n this._plugins.exec('spawn.before', undefined, {\n ...pluginContext(task, args),\n kill(reason) {\n rejection = reason || rejection;\n },\n });\n\n return rejection;\n }\n}\n\nfunction pluginContext(task: SimpleGitTask, commands: string[]) {\n return {\n method: first(task.commands) || '',\n commands,\n };\n}\n\nfunction onErrorReceived(target: Buffer[], logger: OutputLogger) {\n return (err: Error) => {\n logger(`[ERROR] child process exception %o`, err);\n target.push(Buffer.from(String(err.stack), 'ascii'));\n };\n}\n\nfunction onDataReceived(\n target: Buffer[],\n name: string,\n logger: OutputLogger,\n output: OutputLogger\n) {\n return (buffer: Buffer) => {\n logger(`%s received %L bytes`, name, buffer);\n output(`%B`, buffer);\n target.push(buffer);\n };\n}\n","import type { PluginStore } from '../plugins';\nimport type { GitExecutorEnv, outputHandler, SimpleGitExecutor, SimpleGitTask } from '../types';\n\nimport { GitExecutorChain } from './git-executor-chain';\nimport { Scheduler } from './scheduler';\n\nexport class GitExecutor implements SimpleGitExecutor {\n private _chain = new GitExecutorChain(this, this._scheduler, this._plugins);\n\n public env: GitExecutorEnv;\n public outputHandler?: outputHandler;\n\n constructor(\n public binary: string = 'git',\n public cwd: string,\n private _scheduler: Scheduler,\n private _plugins: PluginStore\n ) {}\n\n chain(): SimpleGitExecutor {\n return new GitExecutorChain(this, this._scheduler, this._plugins);\n }\n\n push(task: SimpleGitTask): Promise {\n return this._chain.push(task);\n }\n}\n","import { GitError } from './errors/git-error';\nimport { GitResponseError } from './errors/git-response-error';\nimport { SimpleGitTask, SimpleGitTaskCallback } from './types';\nimport { NOOP } from './utils';\n\nexport function taskCallback(\n task: SimpleGitTask,\n response: Promise,\n callback: SimpleGitTaskCallback = NOOP\n) {\n const onSuccess = (data: R) => {\n callback(null, data);\n };\n\n const onError = (err: GitError | GitResponseError) => {\n if (err?.task === task) {\n callback(\n err instanceof GitResponseError ? addDeprecationNoticeToError(err) : err,\n undefined as any\n );\n }\n };\n\n response.then(onSuccess, onError);\n}\n\nfunction addDeprecationNoticeToError(err: GitResponseError) {\n let log = (name: string) => {\n console.warn(\n `simple-git deprecation notice: accessing GitResponseError.${name} should be GitResponseError.git.${name}, this will no longer be available in version 3`\n );\n log = NOOP;\n };\n\n return Object.create(err, Object.getOwnPropertyNames(err.git).reduce(descriptorReducer, {}));\n\n function descriptorReducer(all: PropertyDescriptorMap, name: string): typeof all {\n if (name in err) {\n return all;\n }\n\n all[name] = {\n enumerable: false,\n configurable: false,\n get() {\n log(name);\n return err.git[name];\n },\n };\n\n return all;\n }\n}\n","import { folderExists } from '../utils';\nimport { SimpleGitExecutor } from '../types';\nimport { adhocExecTask } from './task';\n\nexport function changeWorkingDirectoryTask(directory: string, root?: SimpleGitExecutor) {\n return adhocExecTask((instance: SimpleGitExecutor) => {\n if (!folderExists(directory)) {\n throw new Error(`Git.cwd: cannot change to non-directory \"${directory}\"`);\n }\n\n return ((root || instance).cwd = directory);\n });\n}\n","import type { SimpleGit } from '../../../typings';\nimport type { SimpleGitApi } from '../simple-git-api';\nimport { getTrailingOptions, remove, trailingFunctionArgument } from '../utils';\nimport { straightThroughStringTask } from './task';\n\nfunction checkoutTask(args: string[]) {\n const commands = ['checkout', ...args];\n if (commands[1] === '-b' && commands.includes('-B')) {\n commands[1] = remove(commands, '-B');\n }\n\n return straightThroughStringTask(commands);\n}\n\nexport default function (): Pick {\n return {\n checkout(this: SimpleGitApi) {\n return this._runTask(\n checkoutTask(getTrailingOptions(arguments, 1)),\n trailingFunctionArgument(arguments)\n );\n },\n\n checkoutBranch(this: SimpleGitApi, branchName, startPoint) {\n return this._runTask(\n checkoutTask(['-b', branchName, startPoint, ...getTrailingOptions(arguments)]),\n trailingFunctionArgument(arguments)\n );\n },\n\n checkoutLocalBranch(this: SimpleGitApi, branchName) {\n return this._runTask(\n checkoutTask(['-b', branchName, ...getTrailingOptions(arguments)]),\n trailingFunctionArgument(arguments)\n );\n },\n };\n}\n","import { CommitResult } from '../../../typings';\nimport { LineParser, parseStringResponse } from '../utils';\n\nconst parsers: LineParser[] = [\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\n if (!email || !email.includes('@')) {\n return;\n }\n\n result.author = {\n email: email.substr(0, email.length - 1),\n name: parts.join('<').trim(),\n };\n }),\n new LineParser(\n /(\\d+)[^,]*(?:,\\s*(\\d+)[^,]*)(?:,\\s*(\\d+))/g,\n (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 ),\n new LineParser(\n /^(\\d+)[^,]*(?:,\\s*(\\d+)[^(]+\\(([+-]))?/,\n (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\nexport function parseCommitResult(stdOut: string): CommitResult {\n const result: CommitResult = {\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}\n","import type { CommitResult, SimpleGit } from '../../../typings';\nimport type { SimpleGitApi } from '../simple-git-api';\nimport type { StringTask } from '../types';\nimport { parseCommitResult } from '../parsers/parse-commit';\nimport {\n asArray,\n filterArray,\n filterStringOrStringArray,\n filterType,\n getTrailingOptions,\n prefixedArray,\n trailingFunctionArgument,\n} from '../utils';\nimport { configurationErrorTask } from './task';\n\nexport function commitTask(\n message: string[],\n files: string[],\n customArgs: string[]\n): StringTask {\n const commands: string[] = [\n '-c',\n 'core.abbrev=40',\n 'commit',\n ...prefixedArray(message, '-m'),\n ...files,\n ...customArgs,\n ];\n\n return {\n commands,\n format: 'utf-8',\n parser: parseCommitResult,\n };\n}\n\nexport default function (): Pick {\n return {\n commit(this: SimpleGitApi, message: string | string[], ...rest: unknown[]) {\n const next = trailingFunctionArgument(arguments);\n const task =\n rejectDeprecatedSignatures(message) ||\n commitTask(\n asArray(message),\n asArray(filterType(rest[0], filterStringOrStringArray, [])),\n [...filterType(rest[1], filterArray, []), ...getTrailingOptions(arguments, 0, true)]\n );\n\n return this._runTask(task, next);\n },\n };\n\n function rejectDeprecatedSignatures(message?: unknown) {\n return (\n !filterStringOrStringArray(message) &&\n configurationErrorTask(\n `git.commit: requires the commit message to be supplied as a string/string[]`\n )\n );\n }\n}\n","import { straightThroughStringTask } from './task';\nimport { StringTask } from '../types';\n\n/**\n * Task used by `git.hashObject`\n */\nexport function hashObjectTask(filePath: string, write: boolean): StringTask {\n const commands = ['hash-object', filePath];\n if (write) {\n commands.push('-w');\n }\n\n return straightThroughStringTask(commands, true);\n}\n","import { InitResult } from '../../../typings';\n\nexport class InitSummary implements InitResult {\n constructor(\n public readonly bare: boolean,\n public readonly path: string,\n public readonly existing: boolean,\n public readonly gitDir: string\n ) {}\n}\n\nconst initResponseRegex = /^Init.+ repository in (.+)$/;\nconst reInitResponseRegex = /^Rein.+ in (.+)$/;\n\nexport function parseInit(bare: boolean, path: string, text: string) {\n const response = String(text).trim();\n let result;\n\n if ((result = initResponseRegex.exec(response))) {\n return new InitSummary(bare, path, false, result[1]);\n }\n\n if ((result = reInitResponseRegex.exec(response))) {\n return new InitSummary(bare, path, true, result[1]);\n }\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\n return new InitSummary(bare, path, /^re/i.test(response), gitDir);\n}\n","import { InitResult } from '../../../typings';\nimport { parseInit } from '../responses/InitSummary';\nimport { StringTask } from '../types';\n\nconst bareCommand = '--bare';\n\nfunction hasBareCommand(command: string[]) {\n return command.includes(bareCommand);\n}\n\nexport function initTask(bare = false, path: string, customArgs: string[]): StringTask {\n const commands = ['init', ...customArgs];\n if (bare && !hasBareCommand(commands)) {\n commands.splice(1, 0, bareCommand);\n }\n\n return {\n commands,\n format: 'utf-8',\n parser(text: string): InitResult {\n return parseInit(commands.includes('--bare'), path, text);\n },\n };\n}\n","export enum LogFormat {\n NONE = '',\n STAT = '--stat',\n NUM_STAT = '--numstat',\n NAME_ONLY = '--name-only',\n NAME_STATUS = '--name-status',\n}\n\nconst logFormatRegex = /^--(stat|numstat|name-only|name-status)(=|$)/;\n\nexport function logFormatFromCommand(customArgs: string[]) {\n for (let i = 0; i < customArgs.length; i++) {\n const format = logFormatRegex.exec(customArgs[i]);\n if (format) {\n return `--${format[1]}` as LogFormat;\n }\n }\n\n return LogFormat.NONE;\n}\n\nexport function isLogFormat(customArg: string | unknown) {\n return logFormatRegex.test(customArg as string);\n}\n","import { DiffResult, DiffResultBinaryFile, DiffResultTextFile } from '../../../typings';\n\n/***\n * The DiffSummary is returned as a response to getting `git().status()`\n */\nexport class DiffSummary implements DiffResult {\n changed = 0;\n deletions = 0;\n insertions = 0;\n\n files: Array = [];\n}\n","import { DiffResult } from '../../../typings';\nimport { LogFormat } from '../args/log-format';\nimport { DiffSummary } from '../responses/DiffSummary';\nimport { asNumber, LineParser, parseStringResponse } from '../utils';\n\nconst statParser = [\n new LineParser(\n /(.+)\\s+\\|\\s+(\\d+)(\\s+[+\\-]+)?$/,\n (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 ),\n new LineParser(\n /(.+) \\|\\s+Bin ([0-9.]+) -> ([0-9.]+) ([a-z]+)/,\n (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 ),\n new LineParser(\n /(\\d+) files? changed\\s*((?:, \\d+ [^,]+){0,2})/,\n (result, [changed, summary]) => {\n const inserted = /(\\d+) i/.exec(summary);\n const deleted = /(\\d+) d/.exec(summary);\n\n result.changed = asNumber(changed);\n result.insertions = asNumber(inserted?.[1]);\n result.deletions = asNumber(deleted?.[1]);\n }\n ),\n];\n\nconst numStatParser = [\n new LineParser(\n /(\\d+)\\t(\\d+)\\t(.+)$/,\n (result, [changesInsert, changesDelete, file]) => {\n const insertions = asNumber(changesInsert);\n const deletions = asNumber(changesDelete);\n\n result.changed++;\n result.insertions += insertions;\n result.deletions += deletions;\n\n result.files.push({\n file,\n changes: insertions + deletions,\n insertions,\n deletions,\n binary: false,\n });\n }\n ),\n new LineParser(/-\\t-\\t(.+)$/, (result, [file]) => {\n result.changed++;\n\n result.files.push({\n file,\n after: 0,\n before: 0,\n binary: true,\n });\n }),\n];\n\nconst 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\nconst 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\nconst diffSummaryParsers: Record[]> = {\n [LogFormat.NONE]: statParser,\n [LogFormat.STAT]: statParser,\n [LogFormat.NUM_STAT]: numStatParser,\n [LogFormat.NAME_STATUS]: nameStatusParser,\n [LogFormat.NAME_ONLY]: nameOnlyParser,\n};\n\nexport function getDiffParser(format = LogFormat.NONE) {\n const parser = diffSummaryParsers[format];\n\n return (stdOut: string) => parseStringResponse(new DiffSummary(), parser, stdOut, false);\n}\n","import { ListLogLine, LogResult } from '../../../typings';\nimport { toLinesWithContent } from '../utils';\nimport { getDiffParser } from './parse-diff-summary';\nimport { LogFormat } from '../args/log-format';\n\nexport const START_BOUNDARY = 'òòòòòò ';\n\nexport const COMMIT_BOUNDARY = ' òò';\n\nexport const SPLITTER = ' ò ';\n\nconst defaultFieldNames = ['hash', 'date', 'message', 'refs', 'author_name', 'author_email'];\n\nfunction lineBuilder(tokens: string[], fields: string[]): any {\n return fields.reduce((line, field, index) => {\n line[field] = tokens[index] || '';\n return line;\n }, Object.create({ diff: null }) as any);\n}\n\nexport function createListLogSummaryParser(\n splitter = SPLITTER,\n fields = defaultFieldNames,\n logFormat = LogFormat.NONE\n) {\n const parseDiffResult = getDiffParser(logFormat);\n\n return function (stdOut: string): LogResult {\n const all: ReadonlyArray = toLinesWithContent(\n stdOut,\n true,\n START_BOUNDARY\n ).map(function (item) {\n const lineDetail = item.trim().split(COMMIT_BOUNDARY);\n const listLogLine: T & ListLogLine = lineBuilder(\n lineDetail[0].trim().split(splitter),\n fields\n );\n\n if (lineDetail.length > 1 && !!lineDetail[1].trim()) {\n listLogLine.diff = parseDiffResult(lineDetail[1]);\n }\n\n return listLogLine;\n });\n\n return {\n all,\n latest: (all.length && all[0]) || null,\n total: all.length,\n };\n };\n}\n","import { StringTask } from '../types';\nimport { DiffResult } from '../../../typings';\nimport { isLogFormat, LogFormat, logFormatFromCommand } from '../args/log-format';\nimport { getDiffParser } from '../parsers/parse-diff-summary';\nimport { configurationErrorTask, EmptyTask } from './task';\n\nexport function diffSummaryTask(customArgs: string[]): StringTask | EmptyTask {\n let logFormat = logFormatFromCommand(customArgs);\n\n const commands = ['diff'];\n\n if (logFormat === LogFormat.NONE) {\n logFormat = LogFormat.STAT;\n commands.push('--stat=4096');\n }\n\n commands.push(...customArgs);\n\n return (\n validateLogFormatConfig(commands) || {\n commands,\n format: 'utf-8',\n parser: getDiffParser(logFormat),\n }\n );\n}\n\nexport function validateLogFormatConfig(customArgs: unknown[]): EmptyTask | void {\n const flags = customArgs.filter(isLogFormat);\n\n if (flags.length > 1) {\n return configurationErrorTask(\n `Summary flags are mutually exclusive - pick one of ${flags.join(',')}`\n );\n }\n\n if (flags.length && customArgs.includes('-z')) {\n return configurationErrorTask(\n `Summary flag ${flags} parsing is not compatible with null termination option '-z'`\n );\n }\n}\n","import type { Options, StringTask } from '../types';\nimport type { LogResult, SimpleGit } from '../../../typings';\nimport { logFormatFromCommand } from '../args/log-format';\nimport {\n COMMIT_BOUNDARY,\n createListLogSummaryParser,\n SPLITTER,\n START_BOUNDARY,\n} from '../parsers/parse-list-log-summary';\nimport {\n appendTaskOptions,\n filterArray,\n filterPrimitives,\n filterString,\n filterType,\n trailingFunctionArgument,\n trailingOptionsArgument,\n} from '../utils';\nimport { SimpleGitApi } from '../simple-git-api';\nimport { configurationErrorTask } from './task';\nimport { validateLogFormatConfig } from './diff';\n\nenum excludeOptions {\n '--pretty',\n 'max-count',\n 'maxCount',\n 'n',\n 'file',\n 'format',\n 'from',\n 'to',\n 'splitter',\n 'symmetric',\n 'mailMap',\n 'multiLine',\n 'strictDate',\n}\n\nexport interface DefaultLogFields {\n hash: string;\n date: string;\n message: string;\n refs: string;\n body: string;\n author_name: string;\n author_email: string;\n}\n\nexport type LogOptions = {\n file?: string;\n format?: T;\n from?: string;\n mailMap?: boolean;\n maxCount?: number;\n multiLine?: boolean;\n splitter?: string;\n strictDate?: boolean;\n symmetric?: boolean;\n to?: string;\n};\n\ninterface ParsedLogOptions {\n fields: string[];\n splitter: string;\n commands: string[];\n}\n\nfunction prettyFormat(\n format: Record,\n splitter: string\n): [string[], string] {\n const fields: string[] = [];\n const formatStr: string[] = [];\n\n Object.keys(format).forEach((field) => {\n fields.push(field);\n formatStr.push(String(format[field]));\n });\n\n return [fields, formatStr.join(splitter)];\n}\n\nfunction userOptions(input: T): Options {\n return Object.keys(input).reduce((out, key) => {\n if (!(key in excludeOptions)) {\n out[key] = input[key];\n }\n return out;\n }, {} as Options);\n}\n\nexport function parseLogOptions(\n opt: Options | LogOptions = {},\n customArgs: string[] = []\n): ParsedLogOptions {\n const splitter = filterType(opt.splitter, filterString, SPLITTER);\n const format =\n !filterPrimitives(opt.format) && opt.format\n ? opt.format\n : {\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\n const [fields, formatStr] = prettyFormat(format, splitter);\n\n const suffix: string[] = [];\n const command: string[] = [\n `--pretty=format:${START_BOUNDARY}${formatStr}${COMMIT_BOUNDARY}`,\n ...customArgs,\n ];\n\n const maxCount: number | undefined = (opt as any).n || (opt as any)['max-count'] || opt.maxCount;\n if (maxCount) {\n command.push(`--max-count=${maxCount}`);\n }\n\n if (opt.from || opt.to) {\n const rangeOperator = opt.symmetric !== false ? '...' : '..';\n suffix.push(`${opt.from || ''}${rangeOperator}${opt.to || ''}`);\n }\n\n if (filterString(opt.file)) {\n suffix.push('--follow', opt.file);\n }\n\n appendTaskOptions(userOptions(opt as Options), command);\n\n return {\n fields,\n splitter,\n commands: [...command, ...suffix],\n };\n}\n\nexport function logTask(\n splitter: string,\n fields: string[],\n customArgs: string[]\n): StringTask> {\n const parser = createListLogSummaryParser(splitter, fields, logFormatFromCommand(customArgs));\n\n return {\n commands: ['log', ...customArgs],\n format: 'utf-8',\n parser,\n };\n}\n\nexport default function (): Pick {\n return {\n log(this: SimpleGitApi, ...rest: unknown[]) {\n const next = trailingFunctionArgument(arguments);\n const options = parseLogOptions(\n trailingOptionsArgument(arguments),\n filterType(arguments[0], filterArray)\n );\n const task =\n rejectDeprecatedSignatures(...rest) ||\n validateLogFormatConfig(options.commands) ||\n createLogTask(options);\n\n return this._runTask(task, next);\n },\n };\n\n function createLogTask(options: ParsedLogOptions) {\n return logTask(options.splitter, options.fields, options.commands);\n }\n\n function rejectDeprecatedSignatures(from?: unknown, to?: unknown) {\n return (\n filterString(from) &&\n filterString(to) &&\n configurationErrorTask(\n `git.log(string, string) should be replaced with git.log({ from: string, to: string })`\n )\n );\n }\n}\n","import {\n MergeConflict,\n MergeConflictDeletion,\n MergeDetail,\n MergeResultStatus,\n} from '../../../typings';\n\nexport class MergeSummaryConflict implements MergeConflict {\n constructor(\n public readonly reason: string,\n public readonly file: string | null = null,\n public readonly meta?: MergeConflictDeletion\n ) {}\n\n toString() {\n return `${this.file}:${this.reason}`;\n }\n}\n\nexport class MergeSummaryDetail implements MergeDetail {\n public conflicts: MergeConflict[] = [];\n public merges: string[] = [];\n public result: MergeResultStatus = 'success';\n\n get failed() {\n return this.conflicts.length > 0;\n }\n\n get reason() {\n return this.result;\n }\n\n toString() {\n if (this.conflicts.length) {\n return `CONFLICTS: ${this.conflicts.join(', ')}`;\n }\n\n return 'OK';\n }\n}\n","import {\n PullDetailFileChanges,\n PullDetailSummary,\n PullFailedResult,\n PullResult,\n} from '../../../typings';\n\nexport class PullSummary implements PullResult {\n public remoteMessages = {\n all: [],\n };\n public created = [];\n public deleted: string[] = [];\n public files: string[] = [];\n public deletions: PullDetailFileChanges = {};\n public insertions: PullDetailFileChanges = {};\n public summary: PullDetailSummary = {\n changes: 0,\n deletions: 0,\n insertions: 0,\n };\n}\n\nexport class PullFailedSummary implements PullFailedResult {\n remote = '';\n hash = {\n local: '',\n remote: '',\n };\n branch = {\n local: '',\n remote: '',\n };\n message = '';\n\n toString() {\n return this.message;\n }\n}\n","import {\n RemoteMessageResult,\n RemoteMessages,\n RemoteMessagesObjectEnumeration,\n} from '../../../typings';\nimport { asNumber, RemoteLineParser } from '../utils';\n\nfunction objectEnumerationResult(\n remoteMessages: T\n): RemoteMessagesObjectEnumeration {\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}\n\nfunction asObjectCount(source: string) {\n const count = /^\\s*(\\d+)/.exec(source);\n const delta = /delta (\\d+)/i.exec(source);\n\n return {\n count: asNumber((count && count[1]) || '0'),\n delta: asNumber((delta && delta[1]) || '0'),\n };\n}\n\nexport const remoteMessagesObjectParsers: RemoteLineParser>[] =\n [\n new RemoteLineParser(\n /^remote:\\s*(enumerating|counting|compressing) objects: (\\d+),/i,\n (result, [action, count]) => {\n const key = action.toLowerCase();\n const enumeration = objectEnumerationResult(result.remoteMessages);\n\n Object.assign(enumeration, { [key]: asNumber(count) });\n }\n ),\n new RemoteLineParser(\n /^remote:\\s*(enumerating|counting|compressing) objects: \\d+% \\(\\d+\\/(\\d+)\\),/i,\n (result, [action, count]) => {\n const key = action.toLowerCase();\n const enumeration = objectEnumerationResult(result.remoteMessages);\n\n Object.assign(enumeration, { [key]: asNumber(count) });\n }\n ),\n new RemoteLineParser(\n /total ([^,]+), reused ([^,]+), pack-reused (\\d+)/i,\n (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","import { PushResultRemoteMessages, RemoteMessageResult, RemoteMessages } from '../../../typings';\nimport { asNumber, parseStringResponse, RemoteLineParser } from '../utils';\nimport { remoteMessagesObjectParsers } from './parse-remote-objects';\n\nconst parsers: RemoteLineParser>[] =\n [\n new RemoteLineParser(/^remote:\\s*(.+)$/, (result, [text]) => {\n result.remoteMessages.all.push(text.trim());\n return false;\n }),\n ...remoteMessagesObjectParsers,\n new RemoteLineParser(\n [/create a (?:pull|merge) request/i, /\\s(https?:\\/\\/\\S+)$/],\n (result, [pullRequestUrl]) => {\n (result.remoteMessages as PushResultRemoteMessages).pullRequestUrl = pullRequestUrl;\n }\n ),\n new RemoteLineParser(\n [/found (\\d+) vulnerabilities.+\\(([^)]+)\\)/i, /\\s(https?:\\/\\/\\S+)$/],\n (result, [count, summary, url]) => {\n (result.remoteMessages as PushResultRemoteMessages).vulnerabilities = {\n count: asNumber(count),\n summary,\n url,\n };\n }\n ),\n ];\n\nexport function parseRemoteMessages(\n _stdOut: string,\n stdErr: string\n): RemoteMessageResult {\n return parseStringResponse({ remoteMessages: new RemoteMessageSummary() as T }, parsers, stdErr);\n}\n\nexport class RemoteMessageSummary implements RemoteMessages {\n public readonly all: string[] = [];\n}\n","import { PullDetail, PullFailedResult, PullResult, RemoteMessages } from '../../../typings';\nimport { PullFailedSummary, PullSummary } from '../responses/PullSummary';\nimport { TaskParser } from '../types';\nimport { append, LineParser, parseStringResponse } from '../utils';\nimport { parseRemoteMessages } from './parse-remote-messages';\n\nconst FILE_UPDATE_REGEX = /^\\s*(.+?)\\s+\\|\\s+\\d+\\s*(\\+*)(-*)/;\nconst SUMMARY_REGEX = /(\\d+)\\D+((\\d+)\\D+\\(\\+\\))?(\\D+(\\d+)\\D+\\(-\\))?/;\nconst ACTION_REGEX = /^(create|delete) mode \\d+ (.+)/;\n\nconst parsers: LineParser[] = [\n new LineParser(FILE_UPDATE_REGEX, (result, [file, insertions, deletions]) => {\n result.files.push(file);\n\n if (insertions) {\n result.insertions[file] = insertions.length;\n }\n\n if (deletions) {\n result.deletions[file] = deletions.length;\n }\n }),\n new LineParser(SUMMARY_REGEX, (result, [changes, , insertions, , deletions]) => {\n if (insertions !== undefined || deletions !== undefined) {\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\nconst errorParsers: LineParser[] = [\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(\n /([a-z0-9]+)\\.\\.([a-z0-9]+)\\s+(\\S+)\\s+->\\s+(\\S+)$/,\n (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];\n\nexport const parsePullDetail: TaskParser = (stdOut, stdErr) => {\n return parseStringResponse(new PullSummary(), parsers, [stdOut, stdErr]);\n};\n\nexport const parsePullResult: TaskParser = (stdOut, stdErr) => {\n return Object.assign(\n new PullSummary(),\n parsePullDetail(stdOut, stdErr),\n parseRemoteMessages(stdOut, stdErr)\n );\n};\n\nexport function parsePullErrorResult(stdOut: string, stdErr: string) {\n const pullError = parseStringResponse(new PullFailedSummary(), errorParsers, [stdOut, stdErr]);\n\n return pullError.message && pullError;\n}\n","import { MergeDetail, MergeResult } from '../../../typings';\nimport { MergeSummaryConflict, MergeSummaryDetail } from '../responses/MergeSummary';\nimport { TaskParser } from '../types';\nimport { LineParser, parseStringResponse } from '../utils';\nimport { parsePullResult } from './parse-pull';\n\nconst parsers: LineParser[] = [\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(\n /^CONFLICT\\s+\\((.+\\/delete)\\): (.+) deleted in (.+) and/,\n (summary, [reason, file, deleteRef]) => {\n summary.conflicts.push(new MergeSummaryConflict(reason, file, { deleteRef }));\n }\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\n/**\n * Parse the complete response from `git.merge`\n */\nexport const parseMergeResult: TaskParser = (stdOut, stdErr) => {\n return Object.assign(parseMergeDetail(stdOut, stdErr), parsePullResult(stdOut, stdErr));\n};\n\n/**\n * Parse the merge specific detail (ie: not the content also available in the pull detail) from `git.mnerge`\n * @param stdOut\n */\nexport const parseMergeDetail: TaskParser = (stdOut) => {\n return parseStringResponse(new MergeSummaryDetail(), parsers, stdOut);\n};\n","import { MergeResult } from '../../../typings';\nimport { GitResponseError } from '../errors/git-response-error';\nimport { parseMergeResult } from '../parsers/parse-merge';\nimport { StringTask } from '../types';\nimport { configurationErrorTask, EmptyTask } from './task';\n\nexport function mergeTask(customArgs: string[]): EmptyTask | StringTask {\n if (!customArgs.length) {\n return configurationErrorTask('Git.merge requires at least one option');\n }\n\n return {\n commands: ['merge', ...customArgs],\n format: 'utf-8',\n parser(stdOut, stdErr): MergeResult {\n const merge = parseMergeResult(stdOut, stdErr);\n if (merge.failed) {\n throw new GitResponseError(merge);\n }\n\n return merge;\n },\n };\n}\n","import {\n PushDetail,\n PushResult,\n PushResultPushedItem,\n PushResultRemoteMessages,\n} from '../../../typings';\nimport { TaskParser } from '../types';\nimport { LineParser, parseStringResponse } from '../utils';\nimport { parseRemoteMessages } from './parse-remote-messages';\n\nfunction pushResultPushedItem(local: string, remote: string, status: string): PushResultPushedItem {\n const deleted = status.includes('deleted');\n const tag = status.includes('tag') || /^refs\\/tags/.test(local);\n const alreadyUpdated = !status.includes('new');\n\n return {\n deleted,\n tag,\n branch: !tag,\n new: !alreadyUpdated,\n alreadyUpdated,\n local,\n remote,\n };\n}\n\nconst parsers: LineParser[] = [\n new LineParser(/^Pushing to (.+)$/, (result, [repo]) => {\n result.repo = repo;\n }),\n new LineParser(/^updating local tracking ref '(.+)'/, (result, [local]) => {\n result.ref = {\n ...(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(\n /^Branch '([^']+)' set up to track remote branch '([^']+)' from '([^']+)'/,\n (result, [local, remote, remoteName]) => {\n result.branch = {\n ...(result.branch || {}),\n local,\n remote,\n remoteName,\n };\n }\n ),\n new LineParser(\n /^([^:]+):(\\S+)\\s+([a-z0-9]+)\\.\\.([a-z0-9]+)$/,\n (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];\n\nexport const parsePushResult: TaskParser = (stdOut, stdErr) => {\n const pushDetail = parsePushDetail(stdOut, stdErr);\n const responseDetail = parseRemoteMessages(stdOut, stdErr);\n\n return {\n ...pushDetail,\n ...responseDetail,\n };\n};\n\nexport const parsePushDetail: TaskParser = (stdOut, stdErr) => {\n return parseStringResponse({ pushed: [] }, parsers, [stdOut, stdErr]);\n};\n","import { PushResult } from '../../../typings';\nimport { parsePushResult as parser } from '../parsers/parse-push';\nimport { StringTask } from '../types';\nimport { append, remove } from '../utils';\n\ntype PushRef = { remote?: string; branch?: string };\n\nexport function pushTagsTask(ref: PushRef = {}, customArgs: string[]): StringTask {\n append(customArgs, '--tags');\n return pushTask(ref, customArgs);\n}\n\nexport function pushTask(ref: PushRef = {}, customArgs: string[]): StringTask {\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\n remove(commands, '-v');\n append(commands, '--verbose');\n append(commands, '--porcelain');\n\n return {\n commands,\n format: 'utf-8',\n parser,\n };\n}\n","import { SimpleGit } from '../../../typings';\nimport { SimpleGitApi } from '../simple-git-api';\nimport { getTrailingOptions, trailingFunctionArgument } from '../utils';\nimport { straightThroughBufferTask, straightThroughStringTask } from './task';\n\nexport default function (): Pick {\n return {\n showBuffer(this: SimpleGitApi) {\n const commands = ['show', ...getTrailingOptions(arguments, 1)];\n if (!commands.includes('--binary')) {\n commands.splice(1, 0, '--binary');\n }\n\n return this._runTask(\n straightThroughBufferTask(commands),\n trailingFunctionArgument(arguments)\n );\n },\n\n show(this: SimpleGitApi) {\n const commands = ['show', ...getTrailingOptions(arguments, 1)];\n return this._runTask(\n straightThroughStringTask(commands),\n trailingFunctionArgument(arguments)\n );\n },\n };\n}\n","import { FileStatusResult } from '../../../typings';\n\nexport const fromPathRegex = /^(.+) -> (.+)$/;\n\nexport class FileStatusSummary implements FileStatusResult {\n public readonly from: string | undefined;\n\n constructor(public path: string, public index: string, public working_dir: string) {\n if ('R' === index + working_dir) {\n const detail = fromPathRegex.exec(path) || [null, path, path];\n this.from = detail[1] || '';\n this.path = detail[2] || '';\n }\n }\n}\n","import { StatusResult } from '../../../typings';\nimport { append, NULL } from '../utils';\nimport { FileStatusSummary } from './FileStatusSummary';\n\ntype StatusLineParser = (result: StatusResult, file: string) => void;\n\nexport class StatusSummary implements StatusResult {\n public not_added = [];\n public conflicted = [];\n public created = [];\n public deleted = [];\n public ignored = undefined;\n public modified = [];\n public renamed = [];\n public files = [];\n public staged = [];\n public ahead = 0;\n public behind = 0;\n public current = null;\n public tracking = null;\n public detached = false;\n\n public isClean = () => {\n return !this.files.length;\n };\n}\n\nenum PorcelainFileStatus {\n ADDED = 'A',\n DELETED = 'D',\n MODIFIED = 'M',\n RENAMED = 'R',\n COPIED = 'C',\n UNMERGED = 'U',\n UNTRACKED = '?',\n IGNORED = '!',\n NONE = ' ',\n}\n\nfunction renamedFile(line: string) {\n const [to, from] = line.split(NULL);\n\n return {\n from: from || to,\n to,\n };\n}\n\nfunction parser(\n indexX: PorcelainFileStatus,\n indexY: PorcelainFileStatus,\n handler: StatusLineParser\n): [string, StatusLineParser] {\n return [`${indexX}${indexY}`, handler];\n}\n\nfunction conflicts(indexX: PorcelainFileStatus, ...indexY: PorcelainFileStatus[]) {\n return indexY.map((y) => parser(indexX, y, (result, file) => append(result.conflicted, file)));\n}\n\nconst parsers: Map = new Map([\n parser(PorcelainFileStatus.NONE, PorcelainFileStatus.ADDED, (result, file) =>\n append(result.created, file)\n ),\n parser(PorcelainFileStatus.NONE, PorcelainFileStatus.DELETED, (result, file) =>\n append(result.deleted, file)\n ),\n parser(PorcelainFileStatus.NONE, PorcelainFileStatus.MODIFIED, (result, file) =>\n append(result.modified, file)\n ),\n\n parser(\n PorcelainFileStatus.ADDED,\n PorcelainFileStatus.NONE,\n (result, file) => append(result.created, file) && append(result.staged, file)\n ),\n parser(\n PorcelainFileStatus.ADDED,\n PorcelainFileStatus.MODIFIED,\n (result, file) =>\n append(result.created, file) &&\n append(result.staged, file) &&\n append(result.modified, file)\n ),\n\n parser(\n PorcelainFileStatus.DELETED,\n PorcelainFileStatus.NONE,\n (result, file) => append(result.deleted, file) && append(result.staged, file)\n ),\n\n parser(\n PorcelainFileStatus.MODIFIED,\n PorcelainFileStatus.NONE,\n (result, file) => append(result.modified, file) && append(result.staged, file)\n ),\n parser(\n PorcelainFileStatus.MODIFIED,\n PorcelainFileStatus.MODIFIED,\n (result, file) => append(result.modified, file) && append(result.staged, file)\n ),\n\n parser(PorcelainFileStatus.RENAMED, PorcelainFileStatus.NONE, (result, file) => {\n append(result.renamed, renamedFile(file));\n }),\n parser(PorcelainFileStatus.RENAMED, PorcelainFileStatus.MODIFIED, (result, file) => {\n const renamed = renamedFile(file);\n append(result.renamed, renamed);\n append(result.modified, renamed.to);\n }),\n parser(PorcelainFileStatus.IGNORED, PorcelainFileStatus.IGNORED, (_result, _file) => {\n append((_result.ignored = _result.ignored || []), _file);\n }),\n\n parser(PorcelainFileStatus.UNTRACKED, PorcelainFileStatus.UNTRACKED, (result, file) =>\n append(result.not_added, file)\n ),\n\n ...conflicts(PorcelainFileStatus.ADDED, PorcelainFileStatus.ADDED, PorcelainFileStatus.UNMERGED),\n ...conflicts(\n PorcelainFileStatus.DELETED,\n PorcelainFileStatus.DELETED,\n PorcelainFileStatus.UNMERGED\n ),\n ...conflicts(\n PorcelainFileStatus.UNMERGED,\n PorcelainFileStatus.ADDED,\n PorcelainFileStatus.DELETED,\n PorcelainFileStatus.UNMERGED\n ),\n\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\n regexResult = aheadReg.exec(line);\n result.ahead = (regexResult && +regexResult[1]) || 0;\n\n regexResult = behindReg.exec(line);\n result.behind = (regexResult && +regexResult[1]) || 0;\n\n regexResult = currentReg.exec(line);\n result.current = regexResult && regexResult[1];\n\n regexResult = trackingReg.exec(line);\n result.tracking = regexResult && regexResult[1];\n\n regexResult = onEmptyBranchReg.exec(line);\n result.current = (regexResult && regexResult[1]) || result.current;\n\n result.detached = /\\(no branch\\)/.test(line);\n },\n ],\n]);\n\nexport const parseStatusSummary = function (text: string): StatusResult {\n const lines = text.split(NULL);\n const status = new StatusSummary();\n\n for (let i = 0, l = lines.length; i < l; ) {\n let line = lines[i++].trim();\n\n if (!line) {\n continue;\n }\n\n if (line.charAt(0) === PorcelainFileStatus.RENAMED) {\n line += NULL + (lines[i++] || '');\n }\n\n splitLine(status, line);\n }\n\n return status;\n};\n\nfunction splitLine(result: StatusResult, lineStr: string) {\n const trimmed = lineStr.trim();\n switch (' ') {\n case trimmed.charAt(2):\n return data(trimmed.charAt(0), trimmed.charAt(1), trimmed.substr(3));\n case trimmed.charAt(1):\n return data(PorcelainFileStatus.NONE, trimmed.charAt(0), trimmed.substr(2));\n default:\n return;\n }\n\n function data(index: string, workingDir: string, path: string) {\n const raw = `${index}${workingDir}`;\n const handler = parsers.get(raw);\n\n if (handler) {\n handler(result, path);\n }\n\n if (raw !== '##' && raw !== '!!') {\n result.files.push(new FileStatusSummary(path.replace(/\\0.+$/, ''), index, workingDir));\n }\n }\n}\n","import { StatusResult } from '../../../typings';\nimport { parseStatusSummary } from '../responses/StatusSummary';\nimport { StringTask } from '../types';\n\nconst ignoredOptions = ['--null', '-z'];\n\nexport function statusTask(customArgs: string[]): StringTask {\n const commands = [\n 'status',\n '--porcelain',\n '-b',\n '-u',\n '--null',\n ...customArgs.filter((arg) => !ignoredOptions.includes(arg)),\n ];\n\n return {\n format: 'utf-8',\n commands,\n parser(text: string) {\n return parseStatusSummary(text);\n },\n };\n}\n","import type { SimpleGitApi } from '../simple-git-api';\nimport type { SimpleGit } from '../../../typings';\nimport { asNumber, ExitCodes, LineParser, parseStringResponse } from '../utils';\n\nexport interface VersionResult {\n major: number;\n minor: number;\n patch: number | string;\n agent: string;\n installed: boolean;\n}\n\nconst NOT_INSTALLED = 'installed=false';\n\nfunction versionResponse(\n major = 0,\n minor = 0,\n patch: string | number = 0,\n agent = '',\n installed = true\n): VersionResult {\n return Object.defineProperty(\n {\n major,\n minor,\n patch,\n agent,\n installed,\n },\n 'toString',\n {\n value() {\n return `${this.major}.${this.minor}.${this.patch}`;\n },\n configurable: false,\n enumerable: false,\n }\n );\n}\n\nfunction notInstalledResponse() {\n return versionResponse(0, 0, 0, '', false);\n}\n\nexport default function (): Pick {\n return {\n version(this: SimpleGitApi) {\n return this._runTask({\n commands: ['--version'],\n format: 'utf-8',\n parser: versionParser,\n onError(result, error, done, fail) {\n if (result.exitCode === ExitCodes.NOT_FOUND) {\n return done(Buffer.from(NOT_INSTALLED));\n }\n\n fail(error);\n },\n });\n },\n };\n}\n\nconst parsers: LineParser[] = [\n new LineParser(\n /version (\\d+)\\.(\\d+)\\.(\\d+)(?:\\s*\\((.+)\\))?/,\n (result, [major, minor, patch, agent = '']) => {\n Object.assign(\n result,\n versionResponse(asNumber(major), asNumber(minor), asNumber(patch), agent)\n );\n }\n ),\n new LineParser(\n /version (\\d+)\\.(\\d+)\\.(\\D+)(.+)?$/,\n (result, [major, minor, patch, agent = '']) => {\n Object.assign(result, versionResponse(asNumber(major), asNumber(minor), patch, agent));\n }\n ),\n];\n\nfunction versionParser(stdOut: string) {\n if (stdOut === NOT_INSTALLED) {\n return notInstalledResponse();\n }\n\n return parseStringResponse(versionResponse(0, 0, 0, stdOut), parsers, stdOut);\n}\n","import { SimpleGitBase } from '../../typings';\nimport { taskCallback } from './task-callback';\nimport { changeWorkingDirectoryTask } from './tasks/change-working-directory';\nimport checkout from './tasks/checkout';\nimport commit from './tasks/commit';\nimport config from './tasks/config';\nimport grep from './tasks/grep';\nimport { hashObjectTask } from './tasks/hash-object';\nimport { initTask } from './tasks/init';\nimport log from './tasks/log';\nimport { mergeTask } from './tasks/merge';\nimport { pushTask } from './tasks/push';\nimport show from './tasks/show';\nimport { statusTask } from './tasks/status';\nimport { configurationErrorTask, straightThroughStringTask } from './tasks/task';\nimport version from './tasks/version';\nimport { outputHandler, SimpleGitExecutor, SimpleGitTask, SimpleGitTaskCallback } from './types';\nimport {\n asArray,\n filterString,\n filterType,\n getTrailingOptions,\n trailingFunctionArgument,\n} from './utils';\n\nexport class SimpleGitApi implements SimpleGitBase {\n constructor(private _executor: SimpleGitExecutor) {}\n\n protected _runTask(task: SimpleGitTask, then?: SimpleGitTaskCallback) {\n const chain = this._executor.chain();\n const promise = chain.push(task);\n\n if (then) {\n taskCallback(task, promise, then);\n }\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\n add(files: string | string[]) {\n return this._runTask(\n straightThroughStringTask(['add', ...asArray(files)]),\n trailingFunctionArgument(arguments)\n );\n }\n\n cwd(directory: string | { path: string; root?: boolean }) {\n const next = trailingFunctionArgument(arguments);\n\n if (typeof directory === 'string') {\n return this._runTask(changeWorkingDirectoryTask(directory, this._executor), next);\n }\n\n if (typeof directory?.path === 'string') {\n return this._runTask(\n changeWorkingDirectoryTask(\n directory.path,\n (directory.root && this._executor) || undefined\n ),\n next\n );\n }\n\n return this._runTask(\n configurationErrorTask('Git.cwd: workingDirectory must be supplied as a string'),\n next\n );\n }\n\n hashObject(path: string, write: boolean | unknown) {\n return this._runTask(\n hashObjectTask(path, write === true),\n trailingFunctionArgument(arguments)\n );\n }\n\n init(bare?: boolean | unknown) {\n return this._runTask(\n initTask(bare === true, this._executor.cwd, getTrailingOptions(arguments)),\n trailingFunctionArgument(arguments)\n );\n }\n\n merge() {\n return this._runTask(\n mergeTask(getTrailingOptions(arguments)),\n trailingFunctionArgument(arguments)\n );\n }\n\n mergeFromTo(remote: string, branch: string) {\n if (!(filterString(remote) && filterString(branch))) {\n return this._runTask(\n configurationErrorTask(\n `Git.mergeFromTo requires that the 'remote' and 'branch' arguments are supplied as strings`\n )\n );\n }\n\n return this._runTask(\n mergeTask([remote, branch, ...getTrailingOptions(arguments)]),\n trailingFunctionArgument(arguments, false)\n );\n }\n\n outputHandler(handler: outputHandler) {\n this._executor.outputHandler = handler;\n return this;\n }\n\n push() {\n const task = pushTask(\n {\n remote: filterType(arguments[0], filterString),\n branch: filterType(arguments[1], filterString),\n },\n getTrailingOptions(arguments)\n );\n\n return this._runTask(task, trailingFunctionArgument(arguments));\n }\n\n stash() {\n return this._runTask(\n straightThroughStringTask(['stash', ...getTrailingOptions(arguments)]),\n trailingFunctionArgument(arguments)\n );\n }\n\n status() {\n return this._runTask(\n statusTask(getTrailingOptions(arguments)),\n trailingFunctionArgument(arguments)\n );\n }\n}\n\nObject.assign(\n SimpleGitApi.prototype,\n checkout(),\n commit(),\n config(),\n grep(),\n log(),\n show(),\n version()\n);\n","import { append, remove } from '../utils';\nimport { createDeferred, DeferredPromise } from '@kwsites/promise-deferred';\nimport { createLogger } from '../git-logger';\n\ntype ScheduleCompleteCallback = () => void;\ntype ScheduledTask = Pick, 'promise' | 'done'> & {\n id: number;\n};\n\nconst createScheduledTask: () => ScheduledTask = (() => {\n let id = 0;\n return () => {\n id++;\n const { promise, done } = createDeferred();\n\n return {\n promise,\n done,\n id,\n };\n };\n})();\n\nexport class Scheduler {\n private logger = createLogger('', 'scheduler');\n private pending: ScheduledTask[] = [];\n private running: ScheduledTask[] = [];\n\n constructor(private concurrency = 2) {\n this.logger(`Constructed, concurrency=%s`, concurrency);\n }\n\n private schedule() {\n if (!this.pending.length || this.running.length >= this.concurrency) {\n this.logger(\n `Schedule attempt ignored, pending=%s running=%s concurrency=%s`,\n this.pending.length,\n this.running.length,\n this.concurrency\n );\n return;\n }\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\n next(): Promise {\n const { promise, id } = append(this.pending, createScheduledTask());\n this.logger(`Scheduling id=%s`, id);\n\n this.schedule();\n\n return promise;\n }\n}\n","import { straightThroughStringTask } from './task';\nimport { OptionFlags, Options, StringTask } from '../types';\n\nexport type ApplyOptions = Options &\n OptionFlags<\n | '--stat'\n | '--numstat'\n | '--summary'\n | '--check'\n | '--index'\n | '--intent-to-add'\n | '--3way'\n | '--apply'\n | '--no-add'\n | '-R'\n | '--reverse'\n | '--allow-binary-replacement'\n | '--binary'\n | '--reject'\n | '-z'\n | '--inaccurate-eof'\n | '--recount'\n | '--cached'\n | '--ignore-space-change'\n | '--ignore-whitespace'\n | '--verbose'\n | '--unsafe-paths'\n > &\n OptionFlags<'--whitespace', 'nowarn' | 'warn' | 'fix' | 'error' | 'error-all'> &\n OptionFlags<'--build-fake-ancestor' | '--exclude' | '--include' | '--directory', string> &\n OptionFlags<'-p' | '-C', number>;\n\nexport function applyPatchTask(patches: string[], customArgs: string[]): StringTask {\n return straightThroughStringTask(['apply', ...customArgs, ...patches]);\n}\n","import {\n BranchMultiDeleteResult,\n BranchSingleDeleteFailure,\n BranchSingleDeleteResult,\n BranchSingleDeleteSuccess,\n} from '../../../typings';\n\nexport class BranchDeletionBatch implements BranchMultiDeleteResult {\n all: BranchSingleDeleteResult[] = [];\n branches: { [branchName: string]: BranchSingleDeleteResult } = {};\n errors: BranchSingleDeleteResult[] = [];\n\n get success(): boolean {\n return !this.errors.length;\n }\n}\n\nexport function branchDeletionSuccess(branch: string, hash: string): BranchSingleDeleteSuccess {\n return {\n branch,\n hash,\n success: true,\n };\n}\n\nexport function branchDeletionFailure(branch: string): BranchSingleDeleteFailure {\n return {\n branch,\n hash: null,\n success: false,\n };\n}\n\nexport function isSingleBranchDeleteFailure(\n test: BranchSingleDeleteResult\n): test is BranchSingleDeleteSuccess {\n return test.success;\n}\n","import { BranchMultiDeleteResult } from '../../../typings';\nimport {\n BranchDeletionBatch,\n branchDeletionFailure,\n branchDeletionSuccess,\n} from '../responses/BranchDeleteSummary';\nimport { TaskParser } from '../types';\nimport { ExitCodes, LineParser, parseStringResponse } from '../utils';\n\nconst deleteSuccessRegex = /(\\S+)\\s+\\(\\S+\\s([^)]+)\\)/;\nconst deleteErrorRegex = /^error[^']+'([^']+)'/m;\n\nconst parsers: LineParser[] = [\n new LineParser(deleteSuccessRegex, (result, [branch, hash]) => {\n const deletion = branchDeletionSuccess(branch, hash);\n\n result.all.push(deletion);\n result.branches[branch] = deletion;\n }),\n new LineParser(deleteErrorRegex, (result, [branch]) => {\n const deletion = branchDeletionFailure(branch);\n\n result.errors.push(deletion);\n result.all.push(deletion);\n result.branches[branch] = deletion;\n }),\n];\n\nexport const parseBranchDeletions: TaskParser = (\n stdOut,\n stdErr\n) => {\n return parseStringResponse(new BranchDeletionBatch(), parsers, [stdOut, stdErr]);\n};\n\nexport function hasBranchDeletionError(data: string, processExitCode: ExitCodes): boolean {\n return processExitCode === ExitCodes.ERROR && deleteErrorRegex.test(data);\n}\n","import type { BranchSummary, BranchSummaryBranch } from '../../../typings';\n\nexport enum BranchStatusIdentifier {\n CURRENT = '*',\n LINKED = '+',\n}\n\nexport class BranchSummaryResult implements BranchSummary {\n public all: string[] = [];\n public branches: { [p: string]: BranchSummaryBranch } = {};\n public current: string = '';\n public detached: boolean = false;\n\n push(\n status: BranchStatusIdentifier | unknown,\n detached: boolean,\n name: string,\n commit: string,\n label: string\n ) {\n if (status === BranchStatusIdentifier.CURRENT) {\n this.detached = detached;\n this.current = name;\n }\n\n this.all.push(name);\n this.branches[name] = {\n current: status === BranchStatusIdentifier.CURRENT,\n linkedWorkTree: status === BranchStatusIdentifier.LINKED,\n name,\n commit,\n label,\n };\n }\n}\n","import type { BranchSummary } from '../../../typings';\nimport { BranchSummaryResult } from '../responses/BranchSummary';\nimport { LineParser, parseStringResponse } from '../utils';\n\nconst parsers: LineParser[] = [\n new LineParser(\n /^([*+]\\s)?\\((?:HEAD )?detached (?:from|at) (\\S+)\\)\\s+([a-z0-9]+)\\s(.*)$/,\n (result, [current, name, commit, label]) => {\n result.push(branchStatus(current), true, name, commit, label);\n }\n ),\n new LineParser(\n /^([*+]\\s)?(\\S+)\\s+([a-z0-9]+)\\s?(.*)$/s,\n (result, [current, name, commit, label]) => {\n result.push(branchStatus(current), false, name, commit, label);\n }\n ),\n];\n\nfunction branchStatus(input?: string) {\n return input ? input.charAt(0) : '';\n}\n\nexport function parseBranchSummary(stdOut: string): BranchSummary {\n return parseStringResponse(new BranchSummaryResult(), parsers, stdOut);\n}\n","import { BranchMultiDeleteResult, BranchSingleDeleteResult, BranchSummary } from '../../../typings';\nimport { StringTask } from '../types';\nimport { GitResponseError } from '../errors/git-response-error';\nimport { hasBranchDeletionError, parseBranchDeletions } from '../parsers/parse-branch-delete';\nimport { parseBranchSummary } from '../parsers/parse-branch';\nimport { bufferToString } from '../utils';\n\nexport function containsDeleteBranchCommand(commands: string[]) {\n const deleteCommands = ['-d', '-D', '--delete'];\n return commands.some((command) => deleteCommands.includes(command));\n}\n\nexport function branchTask(\n customArgs: string[]\n): StringTask {\n const isDelete = containsDeleteBranchCommand(customArgs);\n const commands = ['branch', ...customArgs];\n\n if (commands.length === 1) {\n commands.push('-a');\n }\n\n if (!commands.includes('-v')) {\n commands.splice(1, 0, '-v');\n }\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\n return parseBranchSummary(stdOut);\n },\n };\n}\n\nexport function branchLocalTask(): StringTask {\n const parser = parseBranchSummary;\n\n return {\n format: 'utf-8',\n commands: ['branch', '-v'],\n parser,\n };\n}\n\nexport function deleteBranchesTask(\n branches: string[],\n forceDelete = false\n): StringTask {\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\n done(stdOut);\n },\n };\n}\n\nexport function deleteBranchTask(\n branch: string,\n forceDelete = false\n): StringTask {\n const task: StringTask = {\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\n throw new GitResponseError(\n task.parser(bufferToString(stdOut), bufferToString(stdErr)),\n String(error)\n );\n },\n };\n\n return task;\n}\n","/**\n * Parser for the `check-ignore` command - returns each file as a string array\n */\nexport const parseCheckIgnore = (text: string): string[] => {\n return text\n .split(/\\n/g)\n .map((line) => line.trim())\n .filter((file) => !!file);\n};\n","import { StringTask } from '../types';\nimport { parseCheckIgnore } from '../responses/CheckIgnore';\n\nexport function checkIgnoreTask(paths: string[]): StringTask {\n return {\n commands: ['check-ignore', ...paths],\n format: 'utf-8',\n parser: parseCheckIgnore,\n };\n}\n","import { configurationErrorTask, EmptyTask, straightThroughStringTask } from './task';\nimport { OptionFlags, Options, StringTask } from '../types';\nimport { append, filterString } from '../utils';\n\nexport type CloneOptions = Options &\n OptionFlags<\n | '--bare'\n | '--dissociate'\n | '--mirror'\n | '--no-checkout'\n | '--no-remote-submodules'\n | '--no-shallow-submodules'\n | '--no-single-branch'\n | '--no-tags'\n | '--remote-submodules'\n | '--single-branch'\n | '--shallow-submodules'\n | '--verbose'\n > &\n OptionFlags<'--depth' | '-j' | '--jobs', number> &\n OptionFlags<\n | '--branch'\n | '--origin'\n | '--recurse-submodules'\n | '--separate-git-dir'\n | '--shallow-exclude'\n | '--shallow-since'\n | '--template',\n string\n >;\n\nfunction disallowedCommand(command: string) {\n return /^--upload-pack(=|$)/.test(command);\n}\n\nexport function cloneTask(\n repo: string | undefined,\n directory: string | undefined,\n customArgs: string[]\n): StringTask | EmptyTask {\n const commands = ['clone', ...customArgs];\n\n filterString(repo) && commands.push(repo);\n filterString(directory) && commands.push(directory);\n\n const banned = commands.find(disallowedCommand);\n if (banned) {\n return configurationErrorTask(`git.fetch: potential exploit argument blocked.`);\n }\n\n return straightThroughStringTask(commands);\n}\n\nexport function cloneMirrorTask(\n repo: string | undefined,\n directory: string | undefined,\n customArgs: string[]\n) {\n append(customArgs, '--mirror');\n\n return cloneTask(repo, directory, customArgs);\n}\n","import { FetchResult } from '../../../typings';\nimport { LineParser, parseStringResponse } from '../utils';\n\nconst parsers: LineParser[] = [\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(\n /\\s*([^.]+)\\.\\.(\\S+)\\s+(\\S+)\\s*-> (.+)$/,\n (result, [from, to, name, tracking]) => {\n result.updated.push({\n name,\n tracking,\n to,\n from,\n });\n }\n ),\n];\n\nexport function parseFetchResult(stdOut: string, stdErr: string): FetchResult {\n const result: FetchResult = {\n raw: stdOut,\n remote: null,\n branches: [],\n tags: [],\n updated: [],\n deleted: [],\n };\n return parseStringResponse(result, parsers, [stdOut, stdErr]);\n}\n","import { FetchResult } from '../../../typings';\nimport { parseFetchResult } from '../parsers/parse-fetch';\nimport { StringTask } from '../types';\n\nimport { configurationErrorTask, EmptyTask } from './task';\n\nfunction disallowedCommand(command: string) {\n return /^--upload-pack(=|$)/.test(command);\n}\n\nexport function fetchTask(\n remote: string,\n branch: string,\n customArgs: string[]\n): StringTask | EmptyTask {\n const commands = ['fetch', ...customArgs];\n if (remote && branch) {\n commands.push(remote, branch);\n }\n\n const banned = commands.find(disallowedCommand);\n if (banned) {\n return configurationErrorTask(`git.fetch: potential exploit argument blocked.`);\n }\n\n return {\n commands,\n format: 'utf-8',\n parser: parseFetchResult,\n };\n}\n","import { MoveResult } from '../../../typings';\nimport { LineParser, parseStringResponse } from '../utils';\n\nconst parsers: LineParser[] = [\n new LineParser(/^Renaming (.+) to (.+)$/, (result, [from, to]) => {\n result.moves.push({ from, to });\n }),\n];\n\nexport function parseMoveResult(stdOut: string): MoveResult {\n return parseStringResponse({ moves: [] }, parsers, stdOut);\n}\n","import { MoveResult } from '../../../typings';\nimport { parseMoveResult } from '../parsers/parse-move';\nimport { StringTask } from '../types';\nimport { asArray } from '../utils';\n\nexport function moveTask(from: string | string[], to: string): StringTask {\n return {\n commands: ['mv', '-v', ...asArray(from), to],\n format: 'utf-8',\n parser: parseMoveResult,\n };\n}\n","import { PullResult } from '../../../typings';\nimport { GitResponseError } from '../errors/git-response-error';\nimport { parsePullErrorResult, parsePullResult } from '../parsers/parse-pull';\nimport { Maybe, StringTask } from '../types';\nimport { bufferToString } from '../utils';\n\nexport function pullTask(\n remote: Maybe,\n branch: Maybe,\n customArgs: string[]\n): StringTask {\n const commands: string[] = ['pull', ...customArgs];\n if (remote && branch) {\n commands.splice(1, 0, remote, branch);\n }\n\n return {\n commands,\n format: 'utf-8',\n parser(stdOut, stdErr): PullResult {\n return parsePullResult(stdOut, stdErr);\n },\n onError(result, _error, _done, fail) {\n const pullError = parsePullErrorResult(\n bufferToString(result.stdOut),\n bufferToString(result.stdErr)\n );\n if (pullError) {\n return fail(new GitResponseError(pullError));\n }\n\n fail(_error);\n },\n };\n}\n","import { forEachLineWithContent } from '../utils';\n\nexport interface RemoteWithoutRefs {\n name: string;\n}\n\nexport interface RemoteWithRefs extends RemoteWithoutRefs {\n refs: {\n fetch: string;\n push: string;\n };\n}\n\nexport function parseGetRemotes(text: string): RemoteWithoutRefs[] {\n const remotes: { [name: string]: RemoteWithoutRefs } = {};\n\n forEach(text, ([name]) => (remotes[name] = { name }));\n\n return Object.values(remotes);\n}\n\nexport function parseGetRemotesVerbose(text: string): RemoteWithRefs[] {\n const remotes: { [name: string]: RemoteWithRefs } = {};\n\n forEach(text, ([name, url, purpose]) => {\n if (!remotes.hasOwnProperty(name)) {\n remotes[name] = {\n name: name,\n refs: { fetch: '', push: '' },\n };\n }\n\n if (purpose && url) {\n remotes[name].refs[purpose.replace(/[^a-z]/g, '') as keyof RemoteWithRefs['refs']] = url;\n }\n });\n\n return Object.values(remotes);\n}\n\nfunction forEach(text: string, handler: (line: string[]) => void) {\n forEachLineWithContent(text, (line) => handler(line.split(/\\s+/)));\n}\n","import { parseGetRemotes, parseGetRemotesVerbose } from '../responses/GetRemoteSummary';\nimport { StringTask } from '../types';\nimport { straightThroughStringTask } from './task';\n\nexport function addRemoteTask(\n remoteName: string,\n remoteRepo: string,\n customArgs: string[] = []\n): StringTask {\n return straightThroughStringTask(['remote', 'add', ...customArgs, remoteName, remoteRepo]);\n}\n\nexport function getRemotesTask(verbose: boolean): StringTask {\n const commands = ['remote'];\n if (verbose) {\n commands.push('-v');\n }\n\n return {\n commands,\n format: 'utf-8',\n parser: verbose ? parseGetRemotesVerbose : parseGetRemotes,\n };\n}\n\nexport function listRemotesTask(customArgs: string[] = []): StringTask {\n const commands = [...customArgs];\n if (commands[0] !== 'ls-remote') {\n commands.unshift('ls-remote');\n }\n\n return straightThroughStringTask(commands);\n}\n\nexport function remoteTask(customArgs: string[] = []): StringTask {\n const commands = [...customArgs];\n if (commands[0] !== 'remote') {\n commands.unshift('remote');\n }\n\n return straightThroughStringTask(commands);\n}\n\nexport function removeRemoteTask(remoteName: string) {\n return straightThroughStringTask(['remote', 'remove', remoteName]);\n}\n","import { LogOptions, LogResult } from '../../../typings';\nimport { logFormatFromCommand } from '../args/log-format';\nimport { createListLogSummaryParser } from '../parsers/parse-list-log-summary';\nimport type { StringTask } from '../types';\nimport { validateLogFormatConfig } from './diff';\nimport { parseLogOptions } from './log';\nimport type { EmptyTask } from './task';\n\nexport function stashListTask(\n opt: LogOptions = {},\n customArgs: string[]\n): EmptyTask | StringTask {\n const options = parseLogOptions(opt);\n const commands = ['stash', 'list', ...options.commands, ...customArgs];\n const parser = createListLogSummaryParser(\n options.splitter,\n options.fields,\n logFormatFromCommand(commands)\n );\n\n return (\n validateLogFormatConfig(commands) || {\n commands,\n format: 'utf-8',\n parser,\n }\n );\n}\n","import { StringTask } from '../types';\nimport { straightThroughStringTask } from './task';\n\nexport function addSubModuleTask(repo: string, path: string): StringTask {\n return subModuleTask(['add', repo, path]);\n}\n\nexport function initSubModuleTask(customArgs: string[]): StringTask {\n return subModuleTask(['init', ...customArgs]);\n}\n\nexport function subModuleTask(customArgs: string[]): StringTask {\n const commands = [...customArgs];\n if (commands[0] !== 'submodule') {\n commands.unshift('submodule');\n }\n\n return straightThroughStringTask(commands);\n}\n\nexport function updateSubModuleTask(customArgs: string[]): StringTask {\n return subModuleTask(['update', ...customArgs]);\n}\n","import { TagResult } from '../../../typings';\n\nexport class TagList implements TagResult {\n constructor(public readonly all: string[], public readonly latest: string | undefined) {}\n}\n\nexport const parseTagList = function (data: string, customSort = false) {\n const tags = data.split('\\n').map(trimmed).filter(Boolean);\n\n if (!customSort) {\n tags.sort(function (tagA, tagB) {\n const partsA = tagA.split('.');\n const partsB = tagB.split('.');\n\n if (partsA.length === 1 || partsB.length === 1) {\n return singleSorted(toNumber(partsA[0]), toNumber(partsB[0]));\n }\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\n if (diff) {\n return diff;\n }\n }\n\n return 0;\n });\n }\n\n const latest = customSort ? tags[0] : [...tags].reverse().find((tag) => tag.indexOf('.') >= 0);\n\n return new TagList(tags, latest);\n};\n\nfunction singleSorted(a: number, b: number): number {\n const aIsNum = isNaN(a);\n const bIsNum = isNaN(b);\n\n if (aIsNum !== bIsNum) {\n return aIsNum ? 1 : -1;\n }\n\n return aIsNum ? sorted(a, b) : 0;\n}\n\nfunction sorted(a: number, b: number) {\n return a === b ? 0 : a > b ? 1 : -1;\n}\n\nfunction trimmed(input: string) {\n return input.trim();\n}\n\nfunction toNumber(input: string | undefined) {\n if (typeof input === 'string') {\n return parseInt(input.replace(/^\\D+/g, ''), 10) || 0;\n }\n\n return 0;\n}\n","import { TagResult } from '../../../typings';\nimport { parseTagList } from '../responses/TagList';\nimport { StringTask } from '../types';\n\n/**\n * Task used by `git.tags`\n */\nexport function tagListTask(customArgs: string[] = []): StringTask {\n const hasCustomSort = customArgs.some((option) => /^--sort=/.test(option));\n\n return {\n format: 'utf-8',\n commands: ['tag', '-l', ...customArgs],\n parser(text: string) {\n return parseTagList(text, hasCustomSort);\n },\n };\n}\n\n/**\n * Task used by `git.addTag`\n */\nexport function addTagTask(name: string): StringTask<{ name: string }> {\n return {\n format: 'utf-8',\n commands: ['tag', name],\n parser() {\n return { name };\n },\n };\n}\n\n/**\n * Task used by `git.addTag`\n */\nexport function addAnnotatedTagTask(\n name: string,\n tagMessage: string\n): StringTask<{ name: string }> {\n return {\n format: 'utf-8',\n commands: ['tag', '-a', '-m', tagMessage, name],\n parser() {\n return { name };\n },\n };\n}\n","const { GitExecutor } = require('./lib/runners/git-executor');\nconst { SimpleGitApi } = require('./lib/simple-git-api');\n\nconst { Scheduler } = require('./lib/runners/scheduler');\nconst { configurationErrorTask } = require('./lib/tasks/task');\nconst {\n asArray,\n filterArray,\n filterPrimitives,\n filterString,\n filterStringOrStringArray,\n filterType,\n getTrailingOptions,\n trailingFunctionArgument,\n trailingOptionsArgument,\n} = require('./lib/utils');\nconst { applyPatchTask } = require('./lib/tasks/apply-patch');\nconst {\n branchTask,\n branchLocalTask,\n deleteBranchesTask,\n deleteBranchTask,\n} = require('./lib/tasks/branch');\nconst { checkIgnoreTask } = require('./lib/tasks/check-ignore');\nconst { checkIsRepoTask } = require('./lib/tasks/check-is-repo');\nconst { cloneTask, cloneMirrorTask } = require('./lib/tasks/clone');\nconst { cleanWithOptionsTask, isCleanOptionsArray } = require('./lib/tasks/clean');\nconst { diffSummaryTask } = require('./lib/tasks/diff');\nconst { fetchTask } = require('./lib/tasks/fetch');\nconst { moveTask } = require('./lib/tasks/move');\nconst { pullTask } = require('./lib/tasks/pull');\nconst { pushTagsTask } = require('./lib/tasks/push');\nconst {\n addRemoteTask,\n getRemotesTask,\n listRemotesTask,\n remoteTask,\n removeRemoteTask,\n} = require('./lib/tasks/remote');\nconst { getResetMode, resetTask } = require('./lib/tasks/reset');\nconst { stashListTask } = require('./lib/tasks/stash-list');\nconst {\n addSubModuleTask,\n initSubModuleTask,\n subModuleTask,\n updateSubModuleTask,\n} = require('./lib/tasks/sub-module');\nconst { addAnnotatedTagTask, addTagTask, tagListTask } = require('./lib/tasks/tag');\nconst { straightThroughBufferTask, straightThroughStringTask } = require('./lib/tasks/task');\n\nfunction Git(options, plugins) {\n this._executor = new GitExecutor(\n options.binary,\n options.baseDir,\n new Scheduler(options.maxConcurrentProcesses),\n plugins\n );\n\n this._trimmed = options.trimmed;\n}\n\n(Git.prototype = Object.create(SimpleGitApi.prototype)).constructor = Git;\n\n/**\n * Sets the path to a custom git binary, should either be `git` when there is an installation of git available on\n * the system path, or a fully qualified path to the executable.\n *\n * @param {string} command\n * @returns {Git}\n */\nGit.prototype.customBinary = function (command) {\n this._executor.binary = command;\n return this;\n};\n\n/**\n * Sets an environment variable for the spawned child process, either supply both a name and value as strings or\n * a single object to entirely replace the current environment variables.\n *\n * @param {string|Object} name\n * @param {string} [value]\n * @returns {Git}\n */\nGit.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\n return this;\n};\n\n/**\n * List the stash(s) of the local repo\n */\nGit.prototype.stashList = function (options) {\n return this._runTask(\n stashListTask(\n trailingOptionsArgument(arguments) || {},\n (filterArray(options) && options) || []\n ),\n trailingFunctionArgument(arguments)\n );\n};\n\nfunction createCloneTask(api, task, repoPath, localPath) {\n if (typeof repoPath !== 'string') {\n return configurationErrorTask(`git.${api}() requires a string 'repoPath'`);\n }\n\n return task(repoPath, filterType(localPath, filterString), getTrailingOptions(arguments));\n}\n\n/**\n * Clone a git repo\n */\nGit.prototype.clone = function () {\n return this._runTask(\n createCloneTask('clone', cloneTask, ...arguments),\n trailingFunctionArgument(arguments)\n );\n};\n\n/**\n * Mirror a git repo\n */\nGit.prototype.mirror = function () {\n return this._runTask(\n createCloneTask('mirror', cloneMirrorTask, ...arguments),\n trailingFunctionArgument(arguments)\n );\n};\n\n/**\n * Moves one or more files to a new destination.\n *\n * @see https://git-scm.com/docs/git-mv\n *\n * @param {string|string[]} from\n * @param {string} to\n */\nGit.prototype.mv = function (from, to) {\n return this._runTask(moveTask(from, to), trailingFunctionArgument(arguments));\n};\n\n/**\n * Internally uses pull and tags to get the list of tags then checks out the latest tag.\n *\n * @param {Function} [then]\n */\nGit.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\n/**\n * Pull the updated contents of the current repo\n */\nGit.prototype.pull = function (remote, branch, options, then) {\n return this._runTask(\n pullTask(\n filterType(remote, filterString),\n filterType(branch, filterString),\n getTrailingOptions(arguments)\n ),\n trailingFunctionArgument(arguments)\n );\n};\n\n/**\n * Fetch the updated contents of the current repo.\n *\n * @example\n * .fetch('upstream', 'master') // fetches from master on remote named upstream\n * .fetch(function () {}) // runs fetch against default remote and branch and calls function\n *\n * @param {string} [remote]\n * @param {string} [branch]\n */\nGit.prototype.fetch = function (remote, branch) {\n return this._runTask(\n fetchTask(\n filterType(remote, filterString),\n filterType(branch, filterString),\n getTrailingOptions(arguments)\n ),\n trailingFunctionArgument(arguments)\n );\n};\n\n/**\n * Disables/enables the use of the console for printing warnings and errors, by default messages are not shown in\n * a production environment.\n *\n * @param {boolean} silence\n * @returns {Git}\n */\nGit.prototype.silent = function (silence) {\n console.warn(\n '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 );\n return this;\n};\n\n/**\n * List all tags. When using git 2.7.0 or above, include an options object with `\"--sort\": \"property-name\"` to\n * sort the tags by that property instead of using the default semantic versioning sort.\n *\n * Note, supplying this option when it is not supported by your Git version will cause the operation to fail.\n *\n * @param {Object} [options]\n * @param {Function} [then]\n */\nGit.prototype.tags = function (options, then) {\n return this._runTask(\n tagListTask(getTrailingOptions(arguments)),\n trailingFunctionArgument(arguments)\n );\n};\n\n/**\n * Rebases the current working copy. Options can be supplied either as an array of string parameters\n * to be sent to the `git rebase` command, or a standard options object.\n */\nGit.prototype.rebase = function () {\n return this._runTask(\n straightThroughStringTask(['rebase', ...getTrailingOptions(arguments)]),\n trailingFunctionArgument(arguments)\n );\n};\n\n/**\n * Reset a repo\n */\nGit.prototype.reset = function (mode) {\n return this._runTask(\n resetTask(getResetMode(mode), getTrailingOptions(arguments)),\n trailingFunctionArgument(arguments)\n );\n};\n\n/**\n * Revert one or more commits in the local working copy\n */\nGit.prototype.revert = function (commit) {\n const next = trailingFunctionArgument(arguments);\n\n if (typeof commit !== 'string') {\n return this._runTask(configurationErrorTask('Commit must be a string'), next);\n }\n\n return this._runTask(\n straightThroughStringTask(['revert', ...getTrailingOptions(arguments, 0, true), commit]),\n next\n );\n};\n\n/**\n * Add a lightweight tag to the head of the current branch\n */\nGit.prototype.addTag = function (name) {\n const task =\n typeof name === 'string'\n ? addTagTask(name)\n : configurationErrorTask('Git.addTag requires a tag name');\n\n return this._runTask(task, trailingFunctionArgument(arguments));\n};\n\n/**\n * Add an annotated tag to the head of the current branch\n */\nGit.prototype.addAnnotatedTag = function (tagName, tagMessage) {\n return this._runTask(\n addAnnotatedTagTask(tagName, tagMessage),\n trailingFunctionArgument(arguments)\n );\n};\n\n/**\n * Delete a local branch\n */\nGit.prototype.deleteLocalBranch = function (branchName, forceDelete, then) {\n return this._runTask(\n deleteBranchTask(branchName, typeof forceDelete === 'boolean' ? forceDelete : false),\n trailingFunctionArgument(arguments)\n );\n};\n\n/**\n * Delete one or more local branches\n */\nGit.prototype.deleteLocalBranches = function (branchNames, forceDelete, then) {\n return this._runTask(\n deleteBranchesTask(branchNames, typeof forceDelete === 'boolean' ? forceDelete : false),\n trailingFunctionArgument(arguments)\n );\n};\n\n/**\n * List all branches\n *\n * @param {Object | string[]} [options]\n * @param {Function} [then]\n */\nGit.prototype.branch = function (options, then) {\n return this._runTask(\n branchTask(getTrailingOptions(arguments)),\n trailingFunctionArgument(arguments)\n );\n};\n\n/**\n * Return list of local branches\n *\n * @param {Function} [then]\n */\nGit.prototype.branchLocal = function (then) {\n return this._runTask(branchLocalTask(), trailingFunctionArgument(arguments));\n};\n\n/**\n * Executes any command against the git binary.\n */\nGit.prototype.raw = function (commands) {\n const createRestCommands = !Array.isArray(commands);\n const command = [].slice.call(createRestCommands ? arguments : commands, 0);\n\n for (let i = 0; i < command.length && createRestCommands; i++) {\n if (!filterPrimitives(command[i])) {\n command.splice(i, command.length - i);\n break;\n }\n }\n\n command.push(...getTrailingOptions(arguments, 0, true));\n\n var next = trailingFunctionArgument(arguments);\n\n if (!command.length) {\n return this._runTask(\n configurationErrorTask('Raw: must supply one or more command to execute'),\n next\n );\n }\n\n return this._runTask(straightThroughStringTask(command, this._trimmed), next);\n};\n\nGit.prototype.submoduleAdd = function (repo, path, then) {\n return this._runTask(addSubModuleTask(repo, path), trailingFunctionArgument(arguments));\n};\n\nGit.prototype.submoduleUpdate = function (args, then) {\n return this._runTask(\n updateSubModuleTask(getTrailingOptions(arguments, true)),\n trailingFunctionArgument(arguments)\n );\n};\n\nGit.prototype.submoduleInit = function (args, then) {\n return this._runTask(\n initSubModuleTask(getTrailingOptions(arguments, true)),\n trailingFunctionArgument(arguments)\n );\n};\n\nGit.prototype.subModule = function (options, then) {\n return this._runTask(\n subModuleTask(getTrailingOptions(arguments)),\n trailingFunctionArgument(arguments)\n );\n};\n\nGit.prototype.listRemote = function () {\n return this._runTask(\n listRemotesTask(getTrailingOptions(arguments)),\n trailingFunctionArgument(arguments)\n );\n};\n\n/**\n * Adds a remote to the list of remotes.\n */\nGit.prototype.addRemote = function (remoteName, remoteRepo, then) {\n return this._runTask(\n addRemoteTask(remoteName, remoteRepo, getTrailingOptions(arguments)),\n trailingFunctionArgument(arguments)\n );\n};\n\n/**\n * Removes an entry by name from the list of remotes.\n */\nGit.prototype.removeRemote = function (remoteName, then) {\n return this._runTask(removeRemoteTask(remoteName), trailingFunctionArgument(arguments));\n};\n\n/**\n * Gets the currently available remotes, setting the optional verbose argument to true includes additional\n * detail on the remotes themselves.\n */\nGit.prototype.getRemotes = function (verbose, then) {\n return this._runTask(getRemotesTask(verbose === true), trailingFunctionArgument(arguments));\n};\n\n/**\n * Call any `git remote` function with arguments passed as an array of strings.\n *\n * @param {string[]} options\n * @param {Function} [then]\n */\nGit.prototype.remote = function (options, then) {\n return this._runTask(\n remoteTask(getTrailingOptions(arguments)),\n trailingFunctionArgument(arguments)\n );\n};\n\n/**\n * Call any `git tag` function with arguments passed as an array of strings.\n *\n * @param {string[]} options\n * @param {Function} [then]\n */\nGit.prototype.tag = function (options, then) {\n const command = getTrailingOptions(arguments);\n\n if (command[0] !== 'tag') {\n command.unshift('tag');\n }\n\n return this._runTask(straightThroughStringTask(command), trailingFunctionArgument(arguments));\n};\n\n/**\n * Updates repository server info\n *\n * @param {Function} [then]\n */\nGit.prototype.updateServerInfo = function (then) {\n return this._runTask(\n straightThroughStringTask(['update-server-info']),\n trailingFunctionArgument(arguments)\n );\n};\n\n/**\n * Pushes the current tag changes to a remote which can be either a URL or named remote. When not specified uses the\n * default configured remote spec.\n *\n * @param {string} [remote]\n * @param {Function} [then]\n */\nGit.prototype.pushTags = function (remote, then) {\n const task = pushTagsTask(\n { remote: filterType(remote, filterString) },\n getTrailingOptions(arguments)\n );\n\n return this._runTask(task, trailingFunctionArgument(arguments));\n};\n\n/**\n * Removes the named files from source control.\n */\nGit.prototype.rm = function (files) {\n return this._runTask(\n straightThroughStringTask(['rm', '-f', ...asArray(files)]),\n trailingFunctionArgument(arguments)\n );\n};\n\n/**\n * Removes the named files from source control but keeps them on disk rather than deleting them entirely. To\n * completely remove the files, use `rm`.\n *\n * @param {string|string[]} files\n */\nGit.prototype.rmKeepLocal = function (files) {\n return this._runTask(\n straightThroughStringTask(['rm', '--cached', ...asArray(files)]),\n trailingFunctionArgument(arguments)\n );\n};\n\n/**\n * Returns a list of objects in a tree based on commit hash. Passing in an object hash returns the object's content,\n * size, and type.\n *\n * Passing \"-p\" will instruct cat-file to determine the object type, and display its formatted contents.\n *\n * @param {string[]} [options]\n * @param {Function} [then]\n */\nGit.prototype.catFile = function (options, then) {\n return this._catFile('utf-8', arguments);\n};\n\nGit.prototype.binaryCatFile = function () {\n return this._catFile('buffer', arguments);\n};\n\nGit.prototype._catFile = function (format, args) {\n var handler = trailingFunctionArgument(args);\n var command = ['cat-file'];\n var options = args[0];\n\n if (typeof options === 'string') {\n return this._runTask(\n configurationErrorTask('Git.catFile: options must be supplied as an array of strings'),\n handler\n );\n }\n\n if (Array.isArray(options)) {\n command.push.apply(command, options);\n }\n\n const task =\n format === 'buffer' ? straightThroughBufferTask(command) : straightThroughStringTask(command);\n\n return this._runTask(task, handler);\n};\n\nGit.prototype.diff = function (options, then) {\n const task = filterString(options)\n ? configurationErrorTask(\n 'git.diff: supplying options as a single string is no longer supported, switch to an array of strings'\n )\n : straightThroughStringTask(['diff', ...getTrailingOptions(arguments)]);\n\n return this._runTask(task, trailingFunctionArgument(arguments));\n};\n\nGit.prototype.diffSummary = function () {\n return this._runTask(\n diffSummaryTask(getTrailingOptions(arguments, 1)),\n trailingFunctionArgument(arguments)\n );\n};\n\nGit.prototype.applyPatch = function (patches) {\n const task = !filterStringOrStringArray(patches)\n ? configurationErrorTask(\n `git.applyPatch requires one or more string patches as the first argument`\n )\n : applyPatchTask(asArray(patches), getTrailingOptions([].slice.call(arguments, 1)));\n\n return this._runTask(task, trailingFunctionArgument(arguments));\n};\n\nGit.prototype.revparse = function () {\n const commands = ['rev-parse', ...getTrailingOptions(arguments, true)];\n return this._runTask(\n straightThroughStringTask(commands, true),\n trailingFunctionArgument(arguments)\n );\n};\n\n/**\n */\nGit.prototype.clean = function (mode, options, then) {\n const usingCleanOptionsArray = isCleanOptionsArray(mode);\n const cleanMode =\n (usingCleanOptionsArray && mode.join('')) || filterType(mode, filterString) || '';\n const customArgs = getTrailingOptions([].slice.call(arguments, usingCleanOptionsArray ? 1 : 0));\n\n return this._runTask(\n cleanWithOptionsTask(cleanMode, customArgs),\n trailingFunctionArgument(arguments)\n );\n};\n\nGit.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\n return this._runTask(task);\n};\n\n/**\n * Clears the queue of pending commands and returns the wrapper instance for chaining.\n *\n * @returns {Git}\n */\nGit.prototype.clearQueue = function () {\n // TODO:\n // this._executor.clear();\n return this;\n};\n\n/**\n * Check if a pathname or pathnames are excluded by .gitignore\n *\n * @param {string|string[]} pathnames\n * @param {Function} [then]\n */\nGit.prototype.checkIgnore = function (pathnames, then) {\n return this._runTask(\n checkIgnoreTask(asArray(filterType(pathnames, filterStringOrStringArray, []))),\n trailingFunctionArgument(arguments)\n );\n};\n\nGit.prototype.checkIsRepo = function (checkType, then) {\n return this._runTask(\n checkIsRepoTask(filterType(checkType, filterString)),\n trailingFunctionArgument(arguments)\n );\n};\n\nmodule.exports = Git;\n","import { pathspec } from './args/pathspec';\nimport { GitConstructError } from './errors/git-construct-error';\nimport { GitError } from './errors/git-error';\nimport { GitPluginError } from './errors/git-plugin-error';\nimport { GitResponseError } from './errors/git-response-error';\nimport { TaskConfigurationError } from './errors/task-configuration-error';\nimport { CheckRepoActions } from './tasks/check-is-repo';\nimport { CleanOptions } from './tasks/clean';\nimport { GitConfigScope } from './tasks/config';\nimport { grepQueryBuilder } from './tasks/grep';\nimport { ResetMode } from './tasks/reset';\n\nexport {\n CheckRepoActions,\n CleanOptions,\n GitConfigScope,\n GitConstructError,\n GitError,\n GitPluginError,\n GitResponseError,\n ResetMode,\n TaskConfigurationError,\n grepQueryBuilder,\n pathspec,\n};\n","import { GitError } from './git-error';\nimport { SimpleGitOptions } from '../types';\n\n/**\n * The `GitConstructError` is thrown when an error occurs in the constructor\n * of the `simple-git` instance itself. Most commonly as a result of using\n * a `baseDir` option that points to a folder that either does not exist,\n * or cannot be read by the user the node script is running as.\n *\n * Check the `.message` property for more detail including the properties\n * passed to the constructor.\n */\nexport class GitConstructError extends GitError {\n constructor(public readonly config: SimpleGitOptions, message: string) {\n super(undefined, message);\n }\n}\n","import { SimpleGitOptions, SimpleGitTask } from '../types';\nimport { GitError } from './git-error';\n\nexport class GitPluginError extends GitError {\n constructor(\n public task?: SimpleGitTask,\n public readonly plugin?: keyof SimpleGitOptions,\n message?: string\n ) {\n super(task, message);\n Object.setPrototypeOf(this, new.target.prototype);\n }\n}\n","import { SimpleGitOptions } from '../types';\nimport { SimpleGitPlugin } from './simple-git-plugin';\nimport { GitPluginError } from '../errors/git-plugin-error';\n\nexport function abortPlugin(signal: SimpleGitOptions['abort']) {\n if (!signal) {\n return;\n }\n\n const onSpawnAfter: SimpleGitPlugin<'spawn.after'> = {\n type: 'spawn.after',\n action(_data, context) {\n function kill() {\n context.kill(new GitPluginError(undefined, 'abort', 'Abort signal received'));\n }\n\n signal.addEventListener('abort', kill);\n\n context.spawned.on('close', () => signal.removeEventListener('abort', kill));\n },\n };\n\n const onSpawnBefore: SimpleGitPlugin<'spawn.before'> = {\n type: 'spawn.before',\n action(_data, context) {\n if (signal.aborted) {\n context.kill(new GitPluginError(undefined, 'abort', 'Abort already signaled'));\n }\n },\n };\n\n return [onSpawnBefore, onSpawnAfter];\n}\n","import type { SimpleGitPlugin } from './simple-git-plugin';\n\nimport { GitPluginError } from '../errors/git-plugin-error';\nimport type { SimpleGitPluginConfig } from '../types';\n\nfunction isConfigSwitch(arg: string | unknown) {\n return typeof arg === 'string' && arg.trim().toLowerCase() === '-c';\n}\n\nfunction preventProtocolOverride(arg: string, next: string) {\n if (!isConfigSwitch(arg)) {\n return;\n }\n\n if (!/^\\s*protocol(.[a-z]+)?.allow/.test(next)) {\n return;\n }\n\n throw new GitPluginError(\n undefined,\n 'unsafe',\n 'Configuring protocol.allow is not permitted without enabling allowUnsafeExtProtocol'\n );\n}\n\nfunction preventUploadPack(arg: string, method: string) {\n if (/^\\s*--(upload|receive)-pack/.test(arg)) {\n throw new GitPluginError(\n undefined,\n 'unsafe',\n `Use of --upload-pack or --receive-pack is not permitted without enabling allowUnsafePack`\n );\n }\n\n if (method === 'clone' && /^\\s*-u\\b/.test(arg)) {\n throw new GitPluginError(\n undefined,\n 'unsafe',\n `Use of clone with option -u is not permitted without enabling allowUnsafePack`\n );\n }\n\n if (method === 'push' && /^\\s*--exec\\b/.test(arg)) {\n throw new GitPluginError(\n undefined,\n 'unsafe',\n `Use of push with option --exec is not permitted without enabling allowUnsafePack`\n );\n }\n}\n\nexport function blockUnsafeOperationsPlugin({\n allowUnsafeProtocolOverride = false,\n allowUnsafePack = false,\n}: SimpleGitPluginConfig['unsafe'] = {}): SimpleGitPlugin<'spawn.args'> {\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\n allowUnsafeProtocolOverride || preventProtocolOverride(current, next);\n allowUnsafePack || preventUploadPack(current, context.method);\n });\n\n return args;\n },\n };\n}\n","import { prefixedArray } from '../utils';\nimport { SimpleGitPlugin } from './simple-git-plugin';\n\nexport function commandConfigPrefixingPlugin(\n configuration: string[]\n): SimpleGitPlugin<'spawn.args'> {\n const prefix = prefixedArray(configuration, '-c');\n\n return {\n type: 'spawn.args',\n action(data) {\n return [...prefix, ...data];\n },\n };\n}\n","import { deferred, DeferredPromise } from '@kwsites/promise-deferred';\nimport { SimpleGitPluginConfig } from '../types';\nimport { delay } from '../utils';\nimport { SimpleGitPlugin } from './simple-git-plugin';\n\nconst never = deferred().promise;\n\nexport function completionDetectionPlugin({\n onClose = true,\n onExit = 50,\n}: SimpleGitPluginConfig['completion'] = {}): SimpleGitPlugin<'spawn.after'> {\n function createEvents() {\n let exitCode = -1;\n const events = {\n close: deferred(),\n closeTimeout: deferred(),\n exit: deferred(),\n exitTimeout: deferred(),\n };\n\n const result = Promise.race([\n onClose === false ? never : events.closeTimeout.promise,\n onExit === false ? never : events.exitTimeout.promise,\n ]);\n\n configureTimeout(onClose, events.close, events.closeTimeout);\n configureTimeout(onExit, events.exit, events.exitTimeout);\n\n return {\n close(code: number) {\n exitCode = code;\n events.close.done();\n },\n exit(code: number) {\n exitCode = code;\n events.exit.done();\n },\n get exitCode() {\n return exitCode;\n },\n result,\n };\n }\n\n function configureTimeout(\n flag: boolean | number,\n event: DeferredPromise,\n timeout: DeferredPromise\n ) {\n if (flag === false) {\n return;\n }\n\n (flag === true ? event.promise : event.promise.then(() => delay(flag))).then(timeout.done);\n }\n\n return {\n type: 'spawn.after',\n async action(_data, { spawned, close }) {\n const events = createEvents();\n\n let deferClose = true;\n let quickClose = () => void (deferClose = false);\n\n spawned.stdout?.on('data', quickClose);\n spawned.stderr?.on('data', quickClose);\n spawned.on('error', quickClose);\n\n spawned.on('close', (code: number) => events.close(code));\n spawned.on('exit', (code: number) => events.exit(code));\n\n try {\n await events.result;\n if (deferClose) {\n await delay(50);\n }\n close(events.exitCode);\n } catch (err) {\n close(events.exitCode, err as Error);\n }\n },\n };\n}\n","import { GitError } from '../errors/git-error';\nimport { GitExecutorResult, SimpleGitPluginConfig } from '../types';\nimport { SimpleGitPlugin } from './simple-git-plugin';\n\ntype TaskResult = Omit;\n\nfunction isTaskError(result: TaskResult) {\n return !!(result.exitCode && result.stdErr.length);\n}\n\nfunction getErrorMessage(result: TaskResult) {\n return Buffer.concat([...result.stdOut, ...result.stdErr]);\n}\n\nexport function errorDetectionHandler(\n overwrite = false,\n isError = isTaskError,\n errorMessage: (result: TaskResult) => Buffer | Error = getErrorMessage\n) {\n return (error: Buffer | Error | undefined, result: TaskResult) => {\n if ((!overwrite && error) || !isError(result)) {\n return error;\n }\n\n return errorMessage(result);\n };\n}\n\nexport function errorDetectionPlugin(\n config: SimpleGitPluginConfig['errors']\n): SimpleGitPlugin<'task.error'> {\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\n if (Buffer.isBuffer(error)) {\n return { error: new GitError(undefined, error.toString('utf-8')) };\n }\n\n return {\n error,\n };\n },\n };\n}\n","import { SimpleGitPlugin, SimpleGitPluginType, SimpleGitPluginTypes } from './simple-git-plugin';\nimport { append, asArray } from '../utils';\n\nexport class PluginStore {\n private plugins: Set> = new Set();\n\n public add(\n plugin: void | SimpleGitPlugin | SimpleGitPlugin[]\n ) {\n const plugins: SimpleGitPlugin[] = [];\n\n asArray(plugin).forEach((plugin) => plugin && this.plugins.add(append(plugins, plugin)));\n\n return () => {\n plugins.forEach((plugin) => this.plugins.delete(plugin));\n };\n }\n\n public exec(\n type: T,\n data: SimpleGitPluginTypes[T]['data'],\n context: SimpleGitPluginTypes[T]['context']\n ): typeof data {\n let output = data;\n const contextual = Object.freeze(Object.create(context));\n\n for (const plugin of this.plugins) {\n if (plugin.type === type) {\n output = plugin.action(output, contextual);\n }\n }\n\n return output;\n }\n}\n","import { SimpleGitOptions } from '../types';\nimport { asNumber, including } from '../utils';\n\nimport { SimpleGitPlugin } from './simple-git-plugin';\n\nexport function progressMonitorPlugin(progress: Exclude) {\n const progressCommand = '--progress';\n const progressMethods = ['checkout', 'clone', 'fetch', 'pull', 'push'];\n\n const onProgress: SimpleGitPlugin<'spawn.after'> = {\n type: 'spawn.after',\n action(_data, context) {\n if (!context.commands.includes(progressCommand)) {\n return;\n }\n\n context.spawned.stderr?.on('data', (chunk: Buffer) => {\n const message = /^([\\s\\S]+?):\\s*(\\d+)% \\((\\d+)\\/(\\d+)\\)/.exec(chunk.toString('utf8'));\n if (!message) {\n return;\n }\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\n const onArgs: SimpleGitPlugin<'spawn.args'> = {\n type: 'spawn.args',\n action(args, context) {\n if (!progressMethods.includes(context.method)) {\n return args;\n }\n\n return including(args, progressCommand);\n },\n };\n\n return [onArgs, onProgress];\n}\n\nfunction progressEventStage(input: string) {\n return String(input.toLowerCase().split(' ', 1)) || 'unknown';\n}\n","import { SpawnOptions } from 'child_process';\nimport { pick } from '../utils';\nimport { SimpleGitPlugin } from './simple-git-plugin';\n\nexport function spawnOptionsPlugin(\n spawnOptions: Partial\n): SimpleGitPlugin<'spawn.options'> {\n const options = pick(spawnOptions, ['uid', 'gid']);\n\n return {\n type: 'spawn.options',\n action(data) {\n return { ...options, ...data };\n },\n };\n}\n","import type { SimpleGitPlugin } from './simple-git-plugin';\n\nimport type { SimpleGitOptions } from '../types';\nimport { GitPluginError } from '../errors/git-plugin-error';\n\nexport function timeoutPlugin({\n block,\n stdErr = true,\n stdOut = true,\n}: Exclude): SimpleGitPlugin<'spawn.after'> | void {\n if (block > 0) {\n return {\n type: 'spawn.after',\n action(_data, context) {\n let timeout: NodeJS.Timeout;\n\n function wait() {\n timeout && clearTimeout(timeout);\n timeout = setTimeout(kill, block);\n }\n\n function stop() {\n context.spawned.stdout?.off('data', wait);\n context.spawned.stderr?.off('data', wait);\n context.spawned.off('exit', stop);\n context.spawned.off('close', stop);\n timeout && clearTimeout(timeout);\n }\n\n function kill() {\n stop();\n context.kill(new GitPluginError(undefined, 'timeout', `block timeout reached`));\n }\n\n stdOut && context.spawned.stdout?.on('data', wait);\n stdErr && context.spawned.stderr?.on('data', wait);\n context.spawned.on('exit', stop);\n context.spawned.on('close', stop);\n\n wait();\n },\n };\n }\n}\n","import { SimpleGitPlugin } from './simple-git-plugin';\nimport { isPathSpec, toPaths } from '../args/pathspec';\n\nexport function suffixPathsPlugin(): SimpleGitPlugin<'spawn.args'> {\n return {\n type: 'spawn.args',\n action(data) {\n const prefix: string[] = [];\n let suffix: undefined | string[];\n function append(args: string[]) {\n (suffix = suffix || []).push(...args);\n }\n\n for (let i = 0; i < data.length; i++) {\n const param = data[i];\n\n if (isPathSpec(param)) {\n append(toPaths(param));\n continue;\n }\n\n if (param === '--') {\n append(\n data.slice(i + 1).flatMap((item) => (isPathSpec(item) && toPaths(item)) || item)\n );\n break;\n }\n\n prefix.push(param);\n }\n\n return !suffix ? prefix : [...prefix, '--', ...suffix.map(String)];\n },\n };\n}\n","import { SimpleGitFactory } from '../../typings';\n\nimport * as api from './api';\nimport {\n abortPlugin,\n blockUnsafeOperationsPlugin,\n commandConfigPrefixingPlugin,\n completionDetectionPlugin,\n errorDetectionHandler,\n errorDetectionPlugin,\n PluginStore,\n progressMonitorPlugin,\n spawnOptionsPlugin,\n timeoutPlugin,\n} from './plugins';\nimport { suffixPathsPlugin } from './plugins/suffix-paths.plugin';\nimport { createInstanceConfig, folderExists } from './utils';\nimport { SimpleGitOptions } from './types';\n\nconst Git = require('../git');\n\n/**\n * Adds the necessary properties to the supplied object to enable it for use as\n * the default export of a module.\n *\n * Eg: `module.exports = esModuleFactory({ something () {} })`\n */\nexport function esModuleFactory(defaultExport: T) {\n return Object.defineProperties(defaultExport, {\n __esModule: { value: true },\n default: { value: defaultExport },\n }) as T & { __esModule: true; default: T };\n}\n\nexport function gitExportFactory(factory: SimpleGitFactory) {\n return Object.assign(factory.bind(null), api);\n}\n\nexport function gitInstanceFactory(\n baseDir?: string | Partial,\n options?: Partial\n) {\n const plugins = new PluginStore();\n const config = createInstanceConfig(\n (baseDir && (typeof baseDir === 'string' ? { baseDir } : baseDir)) || {},\n options\n );\n\n if (!folderExists(config.baseDir)) {\n throw new api.GitConstructError(\n config,\n `Cannot use simple-git on a directory that does not exist`\n );\n }\n\n if (Array.isArray(config.config)) {\n plugins.add(commandConfigPrefixingPlugin(config.config));\n }\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\n plugins.add(errorDetectionPlugin(errorDetectionHandler(true)));\n config.errors && plugins.add(errorDetectionPlugin(config.errors));\n\n return new Git(config, plugins);\n}\n","import { SimpleGit, SimpleGitOptions } from '../../../typings';\n\nimport { GitResponseError } from '../errors/git-response-error';\nimport { gitInstanceFactory } from '../git-factory';\nimport { SimpleGitTaskCallback } from '../types';\n\nconst functionNamesBuilderApi = ['customBinary', 'env', 'outputHandler', 'silent'];\n\nconst 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\nexport function gitP(\n ...args: [] | [string] | [Partial] | [string, Partial]\n): SimpleGit {\n let git: any;\n\n let chain = Promise.resolve();\n\n try {\n git = gitInstanceFactory(...args);\n } catch (e) {\n chain = Promise.reject(e);\n }\n\n function builderReturn() {\n return promiseApi;\n }\n\n function chainReturn() {\n return chain;\n }\n\n const promiseApi = [...functionNamesBuilderApi, ...functionNamesPromiseApi].reduce(\n (api: any, name: string) => {\n const isAsync = functionNamesPromiseApi.includes(name);\n\n const valid = isAsync ? asyncWrapper(name, git) : syncWrapper(name, git, api);\n const alternative = isAsync ? chainReturn : builderReturn;\n\n Object.defineProperty(api, name, {\n enumerable: false,\n configurable: false,\n value: git ? valid : alternative,\n });\n\n return api;\n },\n {}\n );\n\n return promiseApi as SimpleGit;\n\n function asyncWrapper(fn: string, git: any): (...args: any[]) => Promise {\n return function (...args: any[]) {\n if (typeof args[args.length] === 'function') {\n throw new TypeError(\n 'Promise interface requires that handlers are not supplied inline, ' +\n 'trailing function not allowed in call to ' +\n fn\n );\n }\n\n return chain.then(function () {\n return new Promise(function (resolve, reject) {\n const callback: SimpleGitTaskCallback = (err: Error | null, result?: any) => {\n if (err) {\n return reject(toError(err));\n }\n\n resolve(result);\n };\n args.push(callback);\n\n git[fn].apply(git, args);\n });\n });\n };\n }\n\n function syncWrapper(fn: string, git: any, api: SimpleGit) {\n return (...args: any[]) => {\n git[fn](...args);\n\n return api;\n };\n }\n}\n\nfunction toError(error: Error | string | any): Error {\n if (error instanceof Error) {\n return error;\n }\n\n if (typeof error === 'string') {\n return new Error(error);\n }\n\n return new GitResponseError(error);\n}\n","import { gitInstanceFactory } from './lib/git-factory';\n\nexport { gitP } from './lib/runners/promise-wrapped';\nexport * from './lib/api';\n\nexport const simpleGit = gitInstanceFactory;\n\nexport default gitInstanceFactory;\n","import expand from 'brace-expansion'\nimport { assertValidPattern } from './assert-valid-pattern.js'\nimport { AST, ExtglobType } from './ast.js'\nimport { escape } from './escape.js'\nimport { unescape } from './unescape.js'\n\ntype Platform =\n | 'aix'\n | 'android'\n | 'darwin'\n | 'freebsd'\n | 'haiku'\n | 'linux'\n | 'openbsd'\n | 'sunos'\n | 'win32'\n | 'cygwin'\n | 'netbsd'\n\nexport interface MinimatchOptions {\n nobrace?: boolean\n nocomment?: boolean\n nonegate?: boolean\n debug?: boolean\n noglobstar?: boolean\n noext?: boolean\n nonull?: boolean\n windowsPathsNoEscape?: boolean\n allowWindowsEscape?: boolean\n partial?: boolean\n dot?: boolean\n nocase?: boolean\n nocaseMagicOnly?: boolean\n magicalBraces?: boolean\n matchBase?: boolean\n flipNegate?: boolean\n preserveMultipleSlashes?: boolean\n optimizationLevel?: number\n platform?: Platform\n windowsNoMagicRoot?: boolean\n}\n\nexport const minimatch = (\n p: string,\n pattern: string,\n options: MinimatchOptions = {}\n) => {\n assertValidPattern(pattern)\n\n // shortcut: comments match nothing.\n if (!options.nocomment && pattern.charAt(0) === '#') {\n return false\n }\n\n return new Minimatch(pattern, options).match(p)\n}\n\n// Optimized checking for the most common glob patterns.\nconst starDotExtRE = /^\\*+([^+@!?\\*\\[\\(]*)$/\nconst starDotExtTest = (ext: string) => (f: string) =>\n !f.startsWith('.') && f.endsWith(ext)\nconst starDotExtTestDot = (ext: string) => (f: string) => f.endsWith(ext)\nconst starDotExtTestNocase = (ext: string) => {\n ext = ext.toLowerCase()\n return (f: string) => !f.startsWith('.') && f.toLowerCase().endsWith(ext)\n}\nconst starDotExtTestNocaseDot = (ext: string) => {\n ext = ext.toLowerCase()\n return (f: string) => f.toLowerCase().endsWith(ext)\n}\nconst starDotStarRE = /^\\*+\\.\\*+$/\nconst starDotStarTest = (f: string) => !f.startsWith('.') && f.includes('.')\nconst starDotStarTestDot = (f: string) =>\n f !== '.' && f !== '..' && f.includes('.')\nconst dotStarRE = /^\\.\\*+$/\nconst dotStarTest = (f: string) => f !== '.' && f !== '..' && f.startsWith('.')\nconst starRE = /^\\*+$/\nconst starTest = (f: string) => f.length !== 0 && !f.startsWith('.')\nconst starTestDot = (f: string) => f.length !== 0 && f !== '.' && f !== '..'\nconst qmarksRE = /^\\?+([^+@!?\\*\\[\\(]*)?$/\nconst qmarksTestNocase = ([$0, ext = '']: RegExpMatchArray) => {\n const noext = qmarksTestNoExt([$0])\n if (!ext) return noext\n ext = ext.toLowerCase()\n return (f: string) => noext(f) && f.toLowerCase().endsWith(ext)\n}\nconst qmarksTestNocaseDot = ([$0, ext = '']: RegExpMatchArray) => {\n const noext = qmarksTestNoExtDot([$0])\n if (!ext) return noext\n ext = ext.toLowerCase()\n return (f: string) => noext(f) && f.toLowerCase().endsWith(ext)\n}\nconst qmarksTestDot = ([$0, ext = '']: RegExpMatchArray) => {\n const noext = qmarksTestNoExtDot([$0])\n return !ext ? noext : (f: string) => noext(f) && f.endsWith(ext)\n}\nconst qmarksTest = ([$0, ext = '']: RegExpMatchArray) => {\n const noext = qmarksTestNoExt([$0])\n return !ext ? noext : (f: string) => noext(f) && f.endsWith(ext)\n}\nconst qmarksTestNoExt = ([$0]: RegExpMatchArray) => {\n const len = $0.length\n return (f: string) => f.length === len && !f.startsWith('.')\n}\nconst qmarksTestNoExtDot = ([$0]: RegExpMatchArray) => {\n const len = $0.length\n return (f: string) => f.length === len && f !== '.' && f !== '..'\n}\n\n/* c8 ignore start */\nconst defaultPlatform: Platform = (\n typeof process === 'object' && process\n ? (typeof process.env === 'object' &&\n process.env &&\n process.env.__MINIMATCH_TESTING_PLATFORM__) ||\n process.platform\n : 'posix'\n) as Platform\ntype Sep = '\\\\' | '/'\nconst path: { [k: string]: { sep: Sep } } = {\n win32: { sep: '\\\\' },\n posix: { sep: '/' },\n}\n/* c8 ignore stop */\n\nexport const sep = defaultPlatform === 'win32' ? path.win32.sep : path.posix.sep\nminimatch.sep = sep\n\nexport const GLOBSTAR = Symbol('globstar **')\nminimatch.GLOBSTAR = GLOBSTAR\n\n// any single thing other than /\n// don't need to escape / when using new RegExp()\nconst qmark = '[^/]'\n\n// * => any number of characters\nconst star = qmark + '*?'\n\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\n// not a ^ or / followed by a dot,\n// followed by anything, any number of times.\nconst twoStarNoDot = '(?:(?!(?:\\\\/|^)\\\\.).)*?'\n\nexport const filter =\n (pattern: string, options: MinimatchOptions = {}) =>\n (p: string) =>\n minimatch(p, pattern, options)\nminimatch.filter = filter\n\nconst ext = (a: MinimatchOptions, b: MinimatchOptions = {}) =>\n Object.assign({}, a, b)\n\nexport const defaults = (def: MinimatchOptions): typeof minimatch => {\n if (!def || typeof def !== 'object' || !Object.keys(def).length) {\n return minimatch\n }\n\n const orig = minimatch\n\n const m = (p: string, pattern: string, options: MinimatchOptions = {}) =>\n orig(p, pattern, ext(def, options))\n\n return Object.assign(m, {\n Minimatch: class Minimatch extends orig.Minimatch {\n constructor(pattern: string, options: MinimatchOptions = {}) {\n super(pattern, ext(def, options))\n }\n static defaults(options: MinimatchOptions) {\n return orig.defaults(ext(def, options)).Minimatch\n }\n },\n\n AST: class AST extends orig.AST {\n /* c8 ignore start */\n constructor(\n type: ExtglobType | null,\n parent?: AST,\n options: MinimatchOptions = {}\n ) {\n super(type, parent, ext(def, options))\n }\n /* c8 ignore stop */\n\n static fromGlob(pattern: string, options: MinimatchOptions = {}) {\n return orig.AST.fromGlob(pattern, ext(def, options))\n }\n },\n\n unescape: (\n s: string,\n options: Pick = {}\n ) => orig.unescape(s, ext(def, options)),\n\n escape: (\n s: string,\n options: Pick = {}\n ) => orig.escape(s, ext(def, options)),\n\n filter: (pattern: string, options: MinimatchOptions = {}) =>\n orig.filter(pattern, ext(def, options)),\n\n defaults: (options: MinimatchOptions) => orig.defaults(ext(def, options)),\n\n makeRe: (pattern: string, options: MinimatchOptions = {}) =>\n orig.makeRe(pattern, ext(def, options)),\n\n braceExpand: (pattern: string, options: MinimatchOptions = {}) =>\n orig.braceExpand(pattern, ext(def, options)),\n\n match: (list: string[], pattern: string, options: MinimatchOptions = {}) =>\n orig.match(list, pattern, ext(def, options)),\n\n sep: orig.sep,\n GLOBSTAR: GLOBSTAR as typeof GLOBSTAR,\n })\n}\nminimatch.defaults = defaults\n\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\nexport const braceExpand = (\n pattern: string,\n options: MinimatchOptions = {}\n) => {\n assertValidPattern(pattern)\n\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\n return expand(pattern)\n}\nminimatch.braceExpand = braceExpand\n\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.\n\nexport const makeRe = (pattern: string, options: MinimatchOptions = {}) =>\n new Minimatch(pattern, options).makeRe()\nminimatch.makeRe = makeRe\n\nexport const match = (\n list: string[],\n pattern: string,\n options: MinimatchOptions = {}\n) => {\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}\nminimatch.match = match\n\n// replace stuff like \\* with *\nconst globMagic = /[?*]|[+@!]\\(.*?\\)|\\[|\\]/\nconst regExpEscape = (s: string) =>\n s.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&')\n\nexport type MMRegExp = RegExp & {\n _src?: string\n _glob?: string\n}\n\nexport type ParseReturnFiltered = string | MMRegExp | typeof GLOBSTAR\nexport type ParseReturn = ParseReturnFiltered | false\n\nexport class Minimatch {\n options: MinimatchOptions\n set: ParseReturnFiltered[][]\n pattern: string\n\n windowsPathsNoEscape: boolean\n nonegate: boolean\n negate: boolean\n comment: boolean\n empty: boolean\n preserveMultipleSlashes: boolean\n partial: boolean\n globSet: string[]\n globParts: string[][]\n nocase: boolean\n\n isWindows: boolean\n platform: Platform\n windowsNoMagicRoot: boolean\n\n regexp: false | null | MMRegExp\n constructor(pattern: string, options: MinimatchOptions = {}) {\n assertValidPattern(pattern)\n\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\n this.globSet = []\n this.globParts = []\n this.set = []\n\n // make the set of regexps etc.\n this.make()\n }\n\n hasMagic(): boolean {\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') return true\n }\n }\n return false\n }\n\n debug(..._: any[]) {}\n\n make() {\n const pattern = this.pattern\n const options = this.options\n\n // empty patterns and comments match nothing.\n if (!options.nocomment && pattern.charAt(0) === '#') {\n this.comment = true\n return\n }\n\n if (!pattern) {\n this.empty = true\n return\n }\n\n // step 1: figure out negation, etc.\n this.parseNegate()\n\n // step 2: expand braces\n this.globSet = [...new Set(this.braceExpand())]\n\n if (options.debug) {\n this.debug = (...args: any[]) => console.error(...args)\n }\n\n this.debug(this.pattern, this.globSet)\n\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\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 =\n 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 } 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\n this.debug(this.pattern, set)\n\n // filter out everything that didn't compile properly.\n this.set = set.filter(\n s => s.indexOf(false) === -1\n ) as ParseReturnFiltered[][]\n\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 (\n p[0] === '' &&\n p[1] === '' &&\n this.globParts[i][2] === '?' &&\n typeof p[3] === 'string' &&\n /^[a-z]:$/i.test(p[3])\n ) {\n p[2] = '?'\n }\n }\n }\n\n this.debug(this.pattern, this.set)\n }\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: string[][]) {\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\n const { optimizationLevel = 1 } = this.options\n\n if (optimizationLevel >= 2) {\n // aggressive optimization for the purpose of fs walking\n globParts = this.firstPhasePreProcess(globParts)\n globParts = this.secondPhasePreProcess(globParts)\n } else if (optimizationLevel >= 1) {\n // just basic optimizations to remove some .. parts\n globParts = this.levelOneOptimize(globParts)\n } else {\n globParts = this.adjascentGlobstarOptimize(globParts)\n }\n\n return globParts\n }\n\n // just get rid of adjascent ** portions\n adjascentGlobstarOptimize(globParts: string[][]) {\n return globParts.map(parts => {\n let gs: number = -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\n // get rid of adjascent ** and resolve .. portions\n levelOneOptimize(globParts: string[][]) {\n return globParts.map(parts => {\n parts = parts.reduce((set: string[], 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\n levelTwoFileOptimize(parts: string | string[]) {\n if (!Array.isArray(parts)) {\n parts = this.slashSplit(parts)\n }\n let didSomething: boolean = 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] === '') continue\n          if (p === '.' || p === '') {\n            didSomething = true\n            parts.splice(i, 1)\n            i--\n          }\n        }\n        if (\n          parts[0] === '.' &&\n          parts.length === 2 &&\n          (parts[1] === '.' || parts[1] === '')\n        ) {\n          didSomething = true\n          parts.pop()\n        }\n      }\n\n      // 
/

/../ ->

/\n      let dd: number = 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\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: string[][]) {\n    let didSomething = false\n    do {\n      didSomething = false\n      // 
/**/../

/

/ -> {

/../

/

/,

/**/

/

/}\n for (let parts of globParts) {\n let gs: number = -1\n while (-1 !== (gs = parts.indexOf('**', gs + 1))) {\n let gss: number = 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\n          let next = parts[gs + 1]\n          const p = parts[gs + 2]\n          const p2 = parts[gs + 3]\n          if (next !== '..') continue\n          if (\n            !p ||\n            p === '.' ||\n            p === '..' ||\n            !p2 ||\n            p2 === '.' ||\n            p2 === '..'\n          ) {\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        // 
// -> 
/\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] === '') continue\n            if (p === '.' || p === '') {\n              didSomething = true\n              parts.splice(i, 1)\n              i--\n            }\n          }\n          if (\n            parts[0] === '.' &&\n            parts.length === 2 &&\n            (parts[1] === '.' || parts[1] === '')\n          ) {\n            didSomething = true\n            parts.pop()\n          }\n        }\n\n        // 
/

/../ ->

/\n        let dd: number = 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) parts.push('')\n            dd -= 2\n          }\n        }\n      }\n    } while (didSomething)\n\n    return globParts\n  }\n\n  // second phase: multi-pattern dedupes\n  // {
/*/,
/

/} ->

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

/} ->

/**/\n  // ^-- not valid because ** doens't follow symlinks\n  secondPhasePreProcess(globParts: string[][]): string[][] {\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(\n          globParts[i],\n          globParts[j],\n          !this.preserveMultipleSlashes\n        )\n        if (!matched) continue\n        globParts[i] = matched\n        globParts[j] = []\n      }\n    }\n    return globParts.filter(gs => gs.length)\n  }\n\n  partsMatch(\n    a: string[],\n    b: string[],\n    emptyGSMatch: boolean = false\n  ): false | string[] {\n    let ai = 0\n    let bi = 0\n    let result: string[] = []\n    let which: string = ''\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      } else if (emptyGSMatch && a[ai] === '**' && b[bi] === a[ai + 1]) {\n        result.push(a[ai])\n        ai++\n      } else if (emptyGSMatch && b[bi] === '**' && a[ai] === b[bi + 1]) {\n        result.push(b[bi])\n        bi++\n      } else if (\n        a[ai] === '*' &&\n        b[bi] &&\n        (this.options.dot || !b[bi].startsWith('.')) &&\n        b[bi] !== '**'\n      ) {\n        if (which === 'b') return false\n        which = 'a'\n        result.push(a[ai])\n        ai++\n        bi++\n      } else if (\n        b[bi] === '*' &&\n        a[ai] &&\n        (this.options.dot || !a[ai].startsWith('.')) &&\n        a[ai] !== '**'\n      ) {\n        if (which === 'a') return false\n        which = 'b'\n        result.push(b[bi])\n        ai++\n        bi++\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\n  parseNegate() {\n    if (this.nonegate) return\n\n    const pattern = this.pattern\n    let negate = false\n    let negateOffset = 0\n\n    for (let i = 0; i < pattern.length && pattern.charAt(i) === '!'; i++) {\n      negate = !negate\n      negateOffset++\n    }\n\n    if (negateOffset) this.pattern = pattern.slice(negateOffset)\n    this.negate = negate\n  }\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: string[], pattern: ParseReturn[], partial: boolean = false) {\n    const options = this.options\n\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 =\n        !fileDrive &&\n        file[0] === '' &&\n        file[1] === '' &&\n        file[2] === '?' &&\n        /^[a-z]:$/i.test(file[3])\n\n      const patternDrive =\n        typeof pattern[0] === 'string' && /^[a-z]:$/i.test(pattern[0])\n      const patternUNC =\n        !patternDrive &&\n        pattern[0] === '' &&\n        pattern[1] === '' &&\n        pattern[2] === '?' &&\n        typeof pattern[3] === 'string' &&\n        /^[a-z]:$/i.test(pattern[3])\n\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]: [string, string] = [file[fdi], pattern[pdi] as string]\n        if (fd.toLowerCase() === pd.toLowerCase()) {\n          pattern[pdi] = fd\n          if (pdi > fdi) {\n            pattern = pattern.slice( pdi)\n          } else if (fdi > pdi) {\n            file = file.slice(fdi)\n          }\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\n    this.debug('matchOne', this, { file, pattern })\n    this.debug('matchOne', file.length, pattern.length)\n\n    for (\n      var fi = 0, pi = 0, fl = file.length, pl = pattern.length;\n      fi < fl && pi < pl;\n      fi++, pi++\n    ) {\n      this.debug('matchOne loop')\n      var p = pattern[pi]\n      var f = file[fi]\n\n      this.debug(pattern, p, f)\n\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\n      if (p === GLOBSTAR) {\n        this.debug('GLOBSTAR', [pattern, p, f])\n\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 (\n              file[fi] === '.' ||\n              file[fi] === '..' ||\n              (!options.dot && file[fi].charAt(0) === '.')\n            )\n              return false\n          }\n          return true\n        }\n\n        // ok, let's see if we can swallow whatever we can.\n        while (fr < fl) {\n          var swallowee = file[fr]\n\n          this.debug('\\nglobstar while', file, fr, pattern, pr, swallowee)\n\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          } else {\n            // can't swallow \".\" or \"..\" ever.\n            // can only swallow \".foo\" when explicitly asked.\n            if (\n              swallowee === '.' ||\n              swallowee === '..' ||\n              (!options.dot && swallowee.charAt(0) === '.')\n            ) {\n              this.debug('dot detected!', file, fr, pattern, pr)\n              break\n            }\n\n            // ** swallows a segment, and continue.\n            this.debug('globstar swallow a segment, and continue')\n            fr++\n          }\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\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: boolean\n      if (typeof p === 'string') {\n        hit = f === p\n        this.debug('string match', p, f, hit)\n      } else {\n        hit = p.test(f)\n        this.debug('pattern match', p, f, hit)\n      }\n\n      if (!hit) return false\n    }\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\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    } 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    } 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\n      /* c8 ignore start */\n    } else {\n      // should be unreachable.\n      throw new Error('wtf?')\n    }\n    /* c8 ignore stop */\n  }\n\n  braceExpand() {\n    return braceExpand(this.pattern, this.options)\n  }\n\n  parse(pattern: string): ParseReturn {\n    assertValidPattern(pattern)\n\n    const options = this.options\n\n    // shortcuts\n    if (pattern === '**') return GLOBSTAR\n    if (pattern === '') return ''\n\n    // far and away, the most common glob pattern parts are\n    // *, *.*, and *.  Add a fast check method for those.\n    let m: RegExpMatchArray | null\n    let fastTest: null | ((f: string) => boolean) = null\n    if ((m = pattern.match(starRE))) {\n      fastTest = options.dot ? starTestDot : starTest\n    } else if ((m = pattern.match(starDotExtRE))) {\n      fastTest = (\n        options.nocase\n          ? options.dot\n            ? starDotExtTestNocaseDot\n            : starDotExtTestNocase\n          : options.dot\n          ? starDotExtTestDot\n          : starDotExtTest\n      )(m[1])\n    } else if ((m = pattern.match(qmarksRE))) {\n      fastTest = (\n        options.nocase\n          ? options.dot\n            ? qmarksTestNocaseDot\n            : qmarksTestNocase\n          : options.dot\n          ? qmarksTestDot\n          : qmarksTest\n      )(m)\n    } else if ((m = pattern.match(starDotStarRE))) {\n      fastTest = options.dot ? starDotStarTestDot : starDotStarTest\n    } else if ((m = pattern.match(dotStarRE))) {\n      fastTest = dotStarTest\n    }\n\n    const re = AST.fromGlob(pattern, this.options).toMMPattern()\n    return fastTest ? Object.assign(re, { test: fastTest }) : re\n  }\n\n  makeRe() {\n    if (this.regexp || this.regexp === false) return this.regexp\n\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\n    if (!set.length) {\n      this.regexp = false\n      return this.regexp\n    }\n    const options = this.options\n\n    const twoStar = options.noglobstar\n      ? star\n      : options.dot\n      ? twoStarDot\n      : twoStarNoDot\n    const flags = new Set(options.nocase ? ['i'] : [])\n\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: (string | typeof GLOBSTAR)[] = pattern.map(p => {\n          if (p instanceof RegExp) {\n            for (const f of p.flags.split('')) flags.add(f)\n          }\n          return typeof p === 'string'\n            ? regExpEscape(p)\n            : p === GLOBSTAR\n            ? GLOBSTAR\n            : p._src\n        }) as (string | typeof GLOBSTAR)[]\n        pp.forEach((p, i) => {\n          const next = pp[i + 1]\n          const prev = pp[i - 1]\n          if (p !== GLOBSTAR || prev === GLOBSTAR) {\n            return\n          }\n          if (prev === undefined) {\n            if (next !== undefined && next !== GLOBSTAR) {\n              pp[i + 1] = '(?:\\\\/|' + twoStar + '\\\\/)?' + next\n            } else {\n              pp[i] = twoStar\n            }\n          } else if (next === undefined) {\n            pp[i - 1] = prev + '(?:\\\\/|' + twoStar + ')?'\n          } else if (next !== GLOBSTAR) {\n            pp[i - 1] = prev + '(?:\\\\/|\\\\/' + twoStar + '\\\\/)' + next\n            pp[i + 1] = GLOBSTAR\n          }\n        })\n        return pp.filter(p => p !== GLOBSTAR).join('/')\n      })\n      .join('|')\n\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\n    // can match anything, as long as it's not this.\n    if (this.negate) re = '^(?!' + re + ').+$'\n\n    try {\n      this.regexp = new RegExp(re, [...flags].join(''))\n      /* c8 ignore start */\n    } catch (ex) {\n      // should be impossible\n      this.regexp = false\n    }\n    /* c8 ignore stop */\n    return this.regexp\n  }\n\n  slashSplit(p: string) {\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    } else if (this.isWindows && /^\\/\\/[^\\/]+/.test(p)) {\n      // add an extra '' for the one we lose\n      return ['', ...p.split(/\\/+/)]\n    } else {\n      return p.split(/\\/+/)\n    }\n  }\n\n  match(f: string, 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\n    if (f === '/' && partial) {\n      return true\n    }\n\n    const options = this.options\n\n    // windows: need to use /, not \\\n    if (this.isWindows) {\n      f = f.split('\\\\').join('/')\n    }\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\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\n    const set = this.set\n    this.debug(this.pattern, 'set', set)\n\n    // Find the basename of the path by looking for the last non-empty segment\n    let filename: string = 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\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\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\n  static defaults(def: MinimatchOptions) {\n    return minimatch.defaults(def).Minimatch\n  }\n}\n/* c8 ignore start */\nexport { AST } from './ast.js'\nexport { escape } from './escape.js'\nexport { unescape } from './unescape.js'\n/* c8 ignore stop */\nminimatch.AST = AST\nminimatch.Minimatch = Minimatch\nminimatch.escape = escape\nminimatch.unescape = unescape\n","const MAX_PATTERN_LENGTH = 1024 * 64\nexport const assertValidPattern: (pattern: any) => void = (\n  pattern: any\n): asserts pattern is string => {\n  if (typeof pattern !== 'string') {\n    throw new TypeError('invalid pattern')\n  }\n\n  if (pattern.length > MAX_PATTERN_LENGTH) {\n    throw new TypeError('pattern is too long')\n  }\n}\n","// translate the various posix character classes into unicode properties\n// this works across all unicode locales\n\n// { : [, /u flag required, negated]\nconst posixClasses: { [k: string]: [e: string, u: boolean, n?: boolean] } = {\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\n// only need to escape a few things inside of brace expressions\n// escapes: [ \\ ] -\nconst braceEscape = (s: string) => s.replace(/[[\\]\\\\-]/g, '\\\\$&')\n// escape all regexp magic characters\nconst regexpEscape = (s: string) =>\n  s.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&')\n\n// everything has already been escaped, we just have to join\nconst rangesToString = (ranges: string[]): string => ranges.join('')\n\nexport type ParseClassResult = [\n  src: string,\n  uFlag: boolean,\n  consumed: number,\n  hasMagic: boolean\n]\n\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.\nexport const parseClass = (\n  glob: string,\n  position: number\n): ParseClassResult => {\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: string[] = []\n  const negs: string[] = []\n\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\n    if (c === ']' && sawStart && !escaping) {\n      endPos = i + 1\n      break\n    }\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) negs.push(unip)\n          else ranges.push(unip)\n          uflag = uflag || u\n          continue WHILE\n        }\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      } else if (c === rangeStart) {\n        ranges.push(braceEscape(c))\n      }\n      rangeStart = ''\n      i++\n      continue\n    }\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\n    // not the start of a range, just a single character\n    ranges.push(braceEscape(c))\n    i++\n  }\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\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\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 (\n    negs.length === 0 &&\n    ranges.length === 1 &&\n    /^\\\\?.$/.test(ranges[0]) &&\n    !negate\n  ) {\n    const r = ranges[0].length === 2 ? ranges[0].slice(-1) : ranges[0]\n    return [regexpEscape(r), false, endPos - pos, false]\n  }\n\n  const sranges = '[' + (negate ? '^' : '') + rangesToString(ranges) + ']'\n  const snegs = '[' + (negate ? '' : '^') + rangesToString(negs) + ']'\n  const comb =\n    ranges.length && negs.length\n      ? '(' + sranges + '|' + snegs + ')'\n      : ranges.length\n      ? sranges\n      : snegs\n\n  return [comb, uflag, endPos - pos, true]\n}\n","import { MinimatchOptions } from './index.js'\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 */\nexport const unescape = (\n  s: string,\n  {\n    windowsPathsNoEscape = false,\n  }: Pick = {}\n) => {\n  return windowsPathsNoEscape\n    ? s.replace(/\\[([^\\/\\\\])\\]/g, '$1')\n    : s.replace(/((?!\\\\).|^)\\[([^\\/\\\\])\\]/g, '$1$2').replace(/\\\\([^\\/])/g, '$1')\n}\n","// parse a single path portion\n\nimport { parseClass } from './brace-expressions.js'\nimport { MinimatchOptions, MMRegExp } from './index.js'\nimport { unescape } from './unescape.js'\n\n// classes [] are handled by the parseClass method\n// for positive extglobs, we sub-parse the contents, and combine,\n// with the appropriate regexp close.\n// for negative extglobs, we sub-parse the contents, but then\n// have to include the rest of the pattern, then the parent, etc.,\n// as the thing that cannot be because RegExp negative lookaheads\n// are different from globs.\n//\n// So for example:\n// a@(i|w!(x|y)z|j)b => ^a(i|w((!?(x|y)zb).*)z|j)b$\n//   1   2 3   4 5 6      1   2    3   46      5 6\n//\n// Assembling the extglob requires not just the negated patterns themselves,\n// but also anything following the negative patterns up to the boundary\n// of the current pattern, plus anything following in the parent pattern.\n//\n//\n// So, first, we parse the string into an AST of extglobs, without turning\n// anything into regexps yet.\n//\n// ['a', {@ [['i'], ['w', {!['x', 'y']}, 'z'], ['j']]}, 'b']\n//\n// Then, for all the negative extglobs, we append whatever comes after in\n// each parent as their tail\n//\n// ['a', {@ [['i'], ['w', {!['x', 'y'], 'z', 'b'}, 'z'], ['j']]}, 'b']\n//\n// Lastly, we turn each of these pieces into a regexp, and join\n//\n//                                 v----- .* because there's more following,\n//                                 v    v  otherwise, .+ because it must be\n//                                 v    v  *something* there.\n// ['^a', {@ ['i', 'w(?:(!?(?:x|y).*zb$).*)z', 'j' ]}, 'b$']\n//   copy what follows into here--^^^^^\n// ['^a', '(?:i|w(?:(?!(?:x|y).*zb$).*)z|j)', 'b$']\n// ['^a(?:i|w(?:(?!(?:x|y).*zb$).*)z|j)b$']\n\nexport type ExtglobType = '!' | '?' | '+' | '*' | '@'\nconst types = new Set(['!', '?', '+', '*', '@'])\nconst isExtglobType = (c: string): c is ExtglobType =>\n  types.has(c as ExtglobType)\n\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\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: string) =>\n  s.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&')\n\n// any single thing other than /\nconst qmark = '[^/]'\n\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\n// remove the \\ chars that we added if we end up doing a nonmagic compare\n// const deslash = (s: string) => s.replace(/\\\\(.)/g, '$1')\n\nexport class AST {\n  type: ExtglobType | null\n  readonly #root: AST\n\n  #hasMagic?: boolean\n  #uflag: boolean = false\n  #parts: (string | AST)[] = []\n  readonly #parent?: AST\n  readonly #parentIndex: number\n  #negs: AST[]\n  #filledNegs: boolean = false\n  #options: MinimatchOptions\n  #toString?: string\n  // set to true if it's an extglob with no children\n  // (which really means one child of '')\n  #emptyExt: boolean = false\n\n  constructor(\n    type: ExtglobType | null,\n    parent?: AST,\n    options: MinimatchOptions = {}\n  ) {\n    this.type = type\n    // extglobs are inherently magical\n    if (type) 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) this.#negs.push(this)\n    this.#parentIndex = this.#parent ? this.#parent.#parts.length : 0\n  }\n\n  get hasMagic(): boolean | undefined {\n    /* c8 ignore start */\n    if (this.#hasMagic !== undefined) return this.#hasMagic\n    /* c8 ignore stop */\n    for (const p of this.#parts) {\n      if (typeof p === 'string') continue\n      if (p.type || p.hasMagic) 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\n  // reconstructs the pattern\n  toString(): string {\n    if (this.#toString !== undefined) return this.#toString\n    if (!this.type) {\n      return (this.#toString = this.#parts.map(p => String(p)).join(''))\n    } else {\n      return (this.#toString =\n        this.type + '(' + this.#parts.map(p => String(p)).join('|') + ')')\n    }\n  }\n\n  #fillNegs() {\n    /* c8 ignore start */\n    if (this !== this.#root) throw new Error('should only call on root')\n    if (this.#filledNegs) return this\n    /* c8 ignore stop */\n\n    // call toString() once to fill this out\n    this.toString()\n    this.#filledNegs = true\n    let n: AST | undefined\n    while ((n = this.#negs.pop())) {\n      if (n.type !== '!') continue\n      // walk up the tree, appending everthing that comes AFTER parentIndex\n      let p: AST | undefined = n\n      let pp = p.#parent\n      while (pp) {\n        for (\n          let i = p.#parentIndex + 1;\n          !pp.type && i < pp.#parts.length;\n          i++\n        ) {\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\n  push(...parts: (string | AST)[]) {\n    for (const p of parts) {\n      if (p === '') 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\n  toJSON() {\n    const ret: any[] =\n      this.type === null\n        ? this.#parts.slice().map(p => (typeof p === 'string' ? p : p.toJSON()))\n        : [this.type, ...this.#parts.map(p => (p as AST).toJSON())]\n    if (this.isStart() && !this.type) ret.unshift([])\n    if (\n      this.isEnd() &&\n      (this === this.#root ||\n        (this.#root.#filledNegs && this.#parent?.type === '!'))\n    ) {\n      ret.push({})\n    }\n    return ret\n  }\n\n  isStart(): boolean {\n    if (this.#root === this) return true\n    // if (this.type) return !!this.#parent?.isStart()\n    if (!this.#parent?.isStart()) return false\n    if (this.#parentIndex === 0) 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\n  isEnd(): boolean {\n    if (this.#root === this) return true\n    if (this.#parent?.type === '!') return true\n    if (!this.#parent?.isEnd()) return false\n    if (!this.type) 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\n  copyIn(part: AST | string) {\n    if (typeof part === 'string') this.push(part)\n    else this.push(part.clone(this))\n  }\n\n  clone(parent: AST) {\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\n  static #parseAST(\n    str: string,\n    ast: AST,\n    pos: number,\n    opt: MinimatchOptions\n  ): number {\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\n        if (inBrace) {\n          if (i === braceStart + 1) {\n            if (c === '^' || c === '!') {\n              braceNeg = true\n            }\n          } else if (c === ']' && !(i === braceStart + 2 && braceNeg)) {\n            inBrace = false\n          }\n          acc += c\n          continue\n        } else if (c === '[') {\n          inBrace = true\n          braceStart = i\n          braceNeg = false\n          acc += c\n          continue\n        }\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\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: AST[] = []\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\n      if (inBrace) {\n        if (i === braceStart + 1) {\n          if (c === '^' || c === '!') {\n            braceNeg = true\n          }\n        } else if (c === ']' && !(i === braceStart + 2 && braceNeg)) {\n          inBrace = false\n        }\n        acc += c\n        continue\n      } else if (c === '[') {\n        inBrace = true\n        braceStart = i\n        braceNeg = false\n        acc += c\n        continue\n      }\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\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\n  static fromGlob(pattern: string, options: MinimatchOptions = {}) {\n    const ast = new AST(null, undefined, options)\n    AST.#parseAST(pattern, ast, 0, options)\n    return ast\n  }\n\n  // returns the regular expression if there's magic, or the unescaped\n  // string if not.\n  toMMPattern(): MMRegExp | string {\n    // should only be called on root\n    /* c8 ignore start */\n    if (this !== this.#root) 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 =\n      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\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\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(\n    allowDot?: boolean\n  ): [re: string, body: string, hasMagic: boolean, uflag: boolean] {\n    const dot = allowDot ?? !!this.#options.dot\n    if (this.#root === this) 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] =\n            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\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\n          // '.' and '..' cannot match unless the pattern is that exactly,\n          // even if it starts with . or dot:true is set.\n          const dotTravAllowed =\n            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\n            start = needNoTrav ? startNoTraversal : needNoDot ? startNoDot : ''\n          }\n        }\n      }\n\n      // append the \"end of path portion\" pattern to negation tails\n      let end = ''\n      if (\n        this.isEnd() &&\n        this.#root.#filledNegs &&\n        this.#parent?.type === '!'\n      ) {\n        end = '(?:$|\\\\/)'\n      }\n      const final = start + src + end\n      return [\n        final,\n        unescape(src),\n        (this.#hasMagic = !!this.#hasMagic),\n        this.#uflag,\n      ]\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\n    const repeated = this.type === '*' || this.type === '+'\n    // some kind of extglob\n    const start = this.type === '!' ? '(?:(?!(?:' : '(?:'\n    let body = this.#partsToRegExp(dot)\n\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, unescape(this.toString()), false, false]\n    }\n\n    // XXX abstract out this map method\n    let bodyDotAllowed =\n      !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\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    } else {\n      const close =\n        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      unescape(body),\n      (this.#hasMagic = !!this.#hasMagic),\n      this.#uflag,\n    ]\n  }\n\n  #partsToRegExp(dot: boolean) {\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\n  static #parseGlob(\n    glob: string,\n    hasMagic: boolean | undefined,\n    noEmpty: boolean = false\n  ): [re: string, body: string, hasMagic: boolean, uflag: boolean] {\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        } else {\n          escaping = true\n        }\n        continue\n      }\n      if (c === '[') {\n        const [src, needUflag, consumed, magic] = 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 === '*') re += starNoEmpty\n        else 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, unescape(glob), !!hasMagic, uflag]\n  }\n}\n","import { MinimatchOptions } from './index.js'\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 */\nexport const escape = (\n  s: string,\n  {\n    windowsPathsNoEscape = false,\n  }: Pick = {}\n) => {\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}\n","import { normalize } from 'path'\nimport { simpleGit } from 'simple-git'\n\n/**\n * Calculate what files changed since the review was given\n */\nexport const getHeadDiffSinceReview = async ({\n  headSha,\n  reviewAssociatedSha,\n  baseBranch,\n}: {\n  headSha: string\n  reviewAssociatedSha: string\n  baseBranch: string\n}) => {\n  const git = simpleGit()\n\n  // this diff contains all changes between head and review associated commit, including changes in merge commits\n  const headAndReviewDiff = (\n    await git.diffSummary([`${reviewAssociatedSha}..${headSha}`])\n  ).files.map(({ file }) => file)\n  // this diff basically the same as the PR\n  const mainAndSecondCommitDiff = (\n    await git.diffSummary([`origin/${baseBranch}...${headSha}`])\n  ).files.map(({ file }) => file)\n\n  const intersectionFiles = headAndReviewDiff.filter(file =>\n    mainAndSecondCommitDiff.includes(file),\n  )\n\n  const diffFiles: string[] = []\n\n  // match file rename string e.g. `.github/workflows/{dismiss-reviews.yml => pull-request.yml}`\n  const fileRenameRegex = /{(.*) => (.*)}/\n\n  // find if files from intersectionFiles changed between head and review associated commit relatively to base branch\n  await Promise.all(\n    intersectionFiles.map(async file => {\n      const fileRenameMatch = file.match(fileRenameRegex)\n\n      if (fileRenameMatch) {\n        const path1 = normalize(\n          file.replace(fileRenameRegex, fileRenameMatch[1]),\n        )\n        const path2 = normalize(\n          file.replace(fileRenameRegex, fileRenameMatch[2]),\n        )\n        // push original file name to diffFiles\n        diffFiles.push(path1)\n        // push new file name to diffFiles\n        diffFiles.push(path2)\n\n        console.debug('Filename change:', path1, path2)\n\n        // in case the file was renamed exit early\n        return\n      }\n\n      const firstFileDiff = await git.diff([\n        `origin/${baseBranch}...${reviewAssociatedSha}`,\n        file,\n      ])\n      const secondFileDiff = await git.diff([\n        `origin/${baseBranch}...${headSha}`,\n        file,\n      ])\n\n      // if changed lines don't match, push the file to the diff\n      if (\n        firstFileDiff\n          .split('\\n')\n          // filter only lines with change\n          .filter(line => line.startsWith('+') || line.startsWith('-'))\n          .join('\\n') !==\n        secondFileDiff\n          .split('\\n')\n          .filter(line => line.startsWith('+') || line.startsWith('-'))\n          .join('\\n')\n      ) {\n        diffFiles.push(file)\n      }\n    }),\n  )\n\n  return diffFiles\n}\n","export function isPresent(value: T): value is NonNullable {\n  return value != null\n}\n","import { isPresent } from './type-guards.ts'\nimport { getOctokit } from './get-octokit.ts'\n\nimport type {\n  GetTeamDataQuery,\n  GetTeamDataQueryVariables,\n} from './__generated__/get-team-data.graphql.ts'\n\nconst getPullRequestQuery = /* GraphQL */ `\n  query getTeamData($orgLogin: String!, $teamSlug: String!, $cursor: String) {\n    organization(login: $orgLogin) {\n      team(slug: $teamSlug) {\n        members(first: 100, after: $cursor) {\n          nodes {\n            login\n          }\n          pageInfo {\n            hasNextPage\n            endCursor\n          }\n        }\n      }\n    }\n  }\n`\n\nexport const getTeamData = async ({\n  octokit,\n  organizationLogin,\n  teamSlug,\n}: {\n  octokit: ReturnType\n  organizationLogin: string\n  teamSlug: string\n}) => {\n  const { organization } = await octokit.graphql\n    .paginate(getPullRequestQuery, {\n      orgLogin: organizationLogin,\n      teamSlug,\n    } as GetTeamDataQueryVariables)\n    // eslint-disable-next-line github/no-then\n    .catch(e => {\n      console.error(\n        'Something went wrong during fetching team members data. Make sure that the github token has read access to organization members.',\n      )\n      throw e\n    })\n\n  if (!organization) {\n    throw new Error(`Organization ${organization} could not be found!`)\n  }\n\n  if (!organization.team) {\n    throw new Error(\n      `Team ${organization.team} could not be found in ${organization} organization!`,\n    )\n  }\n\n  if (!organization.team.members.nodes) {\n    throw new Error(\n      `Cannot read members of ${organization.team} team in ${organization} organization!`,\n    )\n  }\n\n  return {\n    members: organization.team.members.nodes\n      .filter(isPresent)\n      .map(({ login }) => login),\n  }\n}\n","import type { getOctokit } from './get-octokit.ts'\n\nimport type {\n  DismissReviewMutation,\n  DismissReviewMutationVariables,\n} from './__generated__/dismiss-reviews.graphql.ts'\n\nconst requestReviewsMutation = /* GraphQL */ `\n  mutation dismissReview($message: String!, $pullRequestReviewId: ID!) {\n    dismissPullRequestReview(\n      input: { message: $message, pullRequestReviewId: $pullRequestReviewId }\n    ) {\n      clientMutationId\n    }\n  }\n`\n\nexport const dismissReviews = async ({\n  octokit,\n  message,\n  reviewsToDismiss,\n}: {\n  octokit: ReturnType\n  message: string\n  reviewsToDismiss: { id: string; author: { login: string } | null }[]\n}) =>\n  Promise.all(\n    reviewsToDismiss.map(async ({ id: pullRequestReviewId, author }) => {\n      try {\n        octokit.graphql(requestReviewsMutation, {\n          message,\n          pullRequestReviewId,\n        } as DismissReviewMutationVariables)\n      } catch {\n        console.error(`Failed to dismiss review from ${author?.login}.`)\n      }\n    }),\n  )\n","import { isPresent } from './type-guards.ts'\nimport { getOctokit } from './get-octokit.ts'\n\nimport type {\n  GetPrDataQuery,\n  GetPrDataQueryVariables,\n} from './__generated__/get-pr-data.graphql.ts'\n\nconst getPullRequestQuery = /* GraphQL */ `\n  query getPrData($nodeId: ID!, $cursor: String) {\n    node(id: $nodeId) {\n      __typename\n      ... on PullRequest {\n        commits(last: 1) {\n          nodes {\n            commit {\n              oid\n              abbreviatedOid\n              committedDate\n            }\n          }\n        }\n        latestOpinionatedReviews(first: 100, after: $cursor) {\n          nodes {\n            id\n            state\n            commit {\n              abbreviatedOid\n            }\n            author {\n              __typename\n              login\n              ... on User {\n                id\n              }\n            }\n            publishedAt\n          }\n          pageInfo {\n            hasNextPage\n            endCursor\n          }\n        }\n      }\n    }\n  }\n`\n\nexport const getPrData = async ({\n  octokit,\n  pullRequestId,\n}: {\n  octokit: ReturnType\n  pullRequestId: string\n}) => {\n  const { node: pullRequest } = await octokit.graphql.paginate(\n    getPullRequestQuery,\n    {\n      nodeId: pullRequestId,\n    } as GetPrDataQueryVariables,\n  )\n\n  if (!pullRequest || pullRequest.__typename !== 'PullRequest') {\n    throw new Error('The pull request could not be found!')\n  }\n\n  if (!pullRequest.commits.nodes) {\n    throw new Error('Pull request commits are missing!')\n  }\n\n  return {\n    commits: pullRequest.commits.nodes.filter(isPresent),\n    latestReviews:\n      pullRequest.latestOpinionatedReviews?.nodes?.filter(isPresent) || [],\n  }\n}\n","// pkg/dist-src/index.js\nimport { getUserAgent } from \"universal-user-agent\";\nimport { Collection } from \"before-after-hook\";\nimport { request } from \"@octokit/request\";\nimport { graphql, withCustomRequest } from \"@octokit/graphql\";\nimport { createTokenAuth } from \"@octokit/auth-token\";\n\n// pkg/dist-src/version.js\nvar VERSION = \"5.0.0\";\n\n// pkg/dist-src/index.js\nvar Octokit = class {\n  static {\n    this.VERSION = VERSION;\n  }\n  static defaults(defaults) {\n    const OctokitWithDefaults = class extends this {\n      constructor(...args) {\n        const options = args[0] || {};\n        if (typeof defaults === \"function\") {\n          super(defaults(options));\n          return;\n        }\n        super(\n          Object.assign(\n            {},\n            defaults,\n            options,\n            options.userAgent && defaults.userAgent ? {\n              userAgent: `${options.userAgent} ${defaults.userAgent}`\n            } : null\n          )\n        );\n      }\n    };\n    return OctokitWithDefaults;\n  }\n  static {\n    this.plugins = [];\n  }\n  /**\n   * Attach a plugin (or many) to your Octokit instance.\n   *\n   * @example\n   * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...)\n   */\n  static plugin(...newPlugins) {\n    const currentPlugins = this.plugins;\n    const NewOctokit = class extends this {\n      static {\n        this.plugins = currentPlugins.concat(\n          newPlugins.filter((plugin) => !currentPlugins.includes(plugin))\n        );\n      }\n    };\n    return NewOctokit;\n  }\n  constructor(options = {}) {\n    const hook = new Collection();\n    const requestDefaults = {\n      baseUrl: request.endpoint.DEFAULTS.baseUrl,\n      headers: {},\n      request: Object.assign({}, options.request, {\n        // @ts-ignore internal usage only, no need to type\n        hook: hook.bind(null, \"request\")\n      }),\n      mediaType: {\n        previews: [],\n        format: \"\"\n      }\n    };\n    requestDefaults.headers[\"user-agent\"] = [\n      options.userAgent,\n      `octokit-core.js/${VERSION} ${getUserAgent()}`\n    ].filter(Boolean).join(\" \");\n    if (options.baseUrl) {\n      requestDefaults.baseUrl = options.baseUrl;\n    }\n    if (options.previews) {\n      requestDefaults.mediaType.previews = options.previews;\n    }\n    if (options.timeZone) {\n      requestDefaults.headers[\"time-zone\"] = options.timeZone;\n    }\n    this.request = request.defaults(requestDefaults);\n    this.graphql = withCustomRequest(this.request).defaults(requestDefaults);\n    this.log = Object.assign(\n      {\n        debug: () => {\n        },\n        info: () => {\n        },\n        warn: console.warn.bind(console),\n        error: console.error.bind(console)\n      },\n      options.log\n    );\n    this.hook = hook;\n    if (!options.authStrategy) {\n      if (!options.auth) {\n        this.auth = async () => ({\n          type: \"unauthenticated\"\n        });\n      } else {\n        const auth = createTokenAuth(options.auth);\n        hook.wrap(\"request\", auth.hook);\n        this.auth = auth;\n      }\n    } else {\n      const { authStrategy, ...otherOptions } = options;\n      const auth = authStrategy(\n        Object.assign(\n          {\n            request: this.request,\n            log: this.log,\n            // we pass the current octokit instance as well as its constructor options\n            // to allow for authentication strategies that return a new octokit instance\n            // that shares the same internal state as the current one. The original\n            // requirement for this was the \"event-octokit\" authentication strategy\n            // of https://github.com/probot/octokit-auth-probot.\n            octokit: this,\n            octokitOptions: otherOptions\n          },\n          options.auth\n        )\n      );\n      hook.wrap(\"request\", auth.hook);\n      this.auth = auth;\n    }\n    const classConstructor = this.constructor;\n    classConstructor.plugins.forEach((plugin) => {\n      Object.assign(this, plugin(this, options));\n    });\n  }\n};\nexport {\n  Octokit\n};\n","import { getUserAgent } from \"universal-user-agent\";\nimport { VERSION } from \"./version\";\nconst userAgent = `octokit-endpoint.js/${VERSION} ${getUserAgent()}`;\nconst DEFAULTS = {\n  method: \"GET\",\n  baseUrl: \"https://api.github.com\",\n  headers: {\n    accept: \"application/vnd.github.v3+json\",\n    \"user-agent\": userAgent\n  },\n  mediaType: {\n    format: \"\"\n  }\n};\nexport {\n  DEFAULTS\n};\n","const VERSION = \"9.0.0\";\nexport {\n  VERSION\n};\n","function lowercaseKeys(object) {\n  if (!object) {\n    return {};\n  }\n  return Object.keys(object).reduce((newObj, key) => {\n    newObj[key.toLowerCase()] = object[key];\n    return newObj;\n  }, {});\n}\nexport {\n  lowercaseKeys\n};\n","import { isPlainObject } from \"is-plain-object\";\nfunction mergeDeep(defaults, options) {\n  const result = Object.assign({}, defaults);\n  Object.keys(options).forEach((key) => {\n    if (isPlainObject(options[key])) {\n      if (!(key in defaults))\n        Object.assign(result, { [key]: options[key] });\n      else\n        result[key] = mergeDeep(defaults[key], options[key]);\n    } else {\n      Object.assign(result, { [key]: options[key] });\n    }\n  });\n  return result;\n}\nexport {\n  mergeDeep\n};\n","function removeUndefinedProperties(obj) {\n  for (const key in obj) {\n    if (obj[key] === void 0) {\n      delete obj[key];\n    }\n  }\n  return obj;\n}\nexport {\n  removeUndefinedProperties\n};\n","import { lowercaseKeys } from \"./util/lowercase-keys\";\nimport { mergeDeep } from \"./util/merge-deep\";\nimport { removeUndefinedProperties } from \"./util/remove-undefined-properties\";\nfunction merge(defaults, route, options) {\n  if (typeof route === \"string\") {\n    let [method, url] = route.split(\" \");\n    options = Object.assign(url ? { method, url } : { url: method }, options);\n  } else {\n    options = Object.assign({}, route);\n  }\n  options.headers = lowercaseKeys(options.headers);\n  removeUndefinedProperties(options);\n  removeUndefinedProperties(options.headers);\n  const mergedOptions = mergeDeep(defaults || {}, options);\n  if (options.url === \"/graphql\") {\n    if (defaults && defaults.mediaType.previews?.length) {\n      mergedOptions.mediaType.previews = defaults.mediaType.previews.filter(\n        (preview) => !mergedOptions.mediaType.previews.includes(preview)\n      ).concat(mergedOptions.mediaType.previews);\n    }\n    mergedOptions.mediaType.previews = (mergedOptions.mediaType.previews || []).map((preview) => preview.replace(/-preview/, \"\"));\n  }\n  return mergedOptions;\n}\nexport {\n  merge\n};\n","function addQueryParameters(url, parameters) {\n  const separator = /\\?/.test(url) ? \"&\" : \"?\";\n  const names = Object.keys(parameters);\n  if (names.length === 0) {\n    return url;\n  }\n  return url + separator + names.map((name) => {\n    if (name === \"q\") {\n      return \"q=\" + parameters.q.split(\"+\").map(encodeURIComponent).join(\"+\");\n    }\n    return `${name}=${encodeURIComponent(parameters[name])}`;\n  }).join(\"&\");\n}\nexport {\n  addQueryParameters\n};\n","const urlVariableRegex = /\\{[^}]+\\}/g;\nfunction removeNonChars(variableName) {\n  return variableName.replace(/^\\W+|\\W+$/g, \"\").split(/,/);\n}\nfunction extractUrlVariableNames(url) {\n  const matches = url.match(urlVariableRegex);\n  if (!matches) {\n    return [];\n  }\n  return matches.map(removeNonChars).reduce((a, b) => a.concat(b), []);\n}\nexport {\n  extractUrlVariableNames\n};\n","function omit(object, keysToOmit) {\n  return Object.keys(object).filter((option) => !keysToOmit.includes(option)).reduce((obj, key) => {\n    obj[key] = object[key];\n    return obj;\n  }, {});\n}\nexport {\n  omit\n};\n","function encodeReserved(str) {\n  return str.split(/(%[0-9A-Fa-f]{2})/g).map(function(part) {\n    if (!/%[0-9A-Fa-f]/.test(part)) {\n      part = encodeURI(part).replace(/%5B/g, \"[\").replace(/%5D/g, \"]\");\n    }\n    return part;\n  }).join(\"\");\n}\nfunction encodeUnreserved(str) {\n  return encodeURIComponent(str).replace(/[!'()*]/g, function(c) {\n    return \"%\" + c.charCodeAt(0).toString(16).toUpperCase();\n  });\n}\nfunction encodeValue(operator, value, key) {\n  value = operator === \"+\" || operator === \"#\" ? encodeReserved(value) : encodeUnreserved(value);\n  if (key) {\n    return encodeUnreserved(key) + \"=\" + value;\n  } else {\n    return value;\n  }\n}\nfunction isDefined(value) {\n  return value !== void 0 && value !== null;\n}\nfunction isKeyOperator(operator) {\n  return operator === \";\" || operator === \"&\" || operator === \"?\";\n}\nfunction getValues(context, operator, key, modifier) {\n  var value = context[key], result = [];\n  if (isDefined(value) && value !== \"\") {\n    if (typeof value === \"string\" || typeof value === \"number\" || typeof value === \"boolean\") {\n      value = value.toString();\n      if (modifier && modifier !== \"*\") {\n        value = value.substring(0, parseInt(modifier, 10));\n      }\n      result.push(\n        encodeValue(operator, value, isKeyOperator(operator) ? key : \"\")\n      );\n    } else {\n      if (modifier === \"*\") {\n        if (Array.isArray(value)) {\n          value.filter(isDefined).forEach(function(value2) {\n            result.push(\n              encodeValue(operator, value2, isKeyOperator(operator) ? key : \"\")\n            );\n          });\n        } else {\n          Object.keys(value).forEach(function(k) {\n            if (isDefined(value[k])) {\n              result.push(encodeValue(operator, value[k], k));\n            }\n          });\n        }\n      } else {\n        const tmp = [];\n        if (Array.isArray(value)) {\n          value.filter(isDefined).forEach(function(value2) {\n            tmp.push(encodeValue(operator, value2));\n          });\n        } else {\n          Object.keys(value).forEach(function(k) {\n            if (isDefined(value[k])) {\n              tmp.push(encodeUnreserved(k));\n              tmp.push(encodeValue(operator, value[k].toString()));\n            }\n          });\n        }\n        if (isKeyOperator(operator)) {\n          result.push(encodeUnreserved(key) + \"=\" + tmp.join(\",\"));\n        } else if (tmp.length !== 0) {\n          result.push(tmp.join(\",\"));\n        }\n      }\n    }\n  } else {\n    if (operator === \";\") {\n      if (isDefined(value)) {\n        result.push(encodeUnreserved(key));\n      }\n    } else if (value === \"\" && (operator === \"&\" || operator === \"?\")) {\n      result.push(encodeUnreserved(key) + \"=\");\n    } else if (value === \"\") {\n      result.push(\"\");\n    }\n  }\n  return result;\n}\nfunction parseUrl(template) {\n  return {\n    expand: expand.bind(null, template)\n  };\n}\nfunction expand(template, context) {\n  var operators = [\"+\", \"#\", \".\", \"/\", \";\", \"?\", \"&\"];\n  return template.replace(\n    /\\{([^\\{\\}]+)\\}|([^\\{\\}]+)/g,\n    function(_, expression, literal) {\n      if (expression) {\n        let operator = \"\";\n        const values = [];\n        if (operators.indexOf(expression.charAt(0)) !== -1) {\n          operator = expression.charAt(0);\n          expression = expression.substr(1);\n        }\n        expression.split(/,/g).forEach(function(variable) {\n          var tmp = /([^:\\*]*)(?::(\\d+)|(\\*))?/.exec(variable);\n          values.push(getValues(context, operator, tmp[1], tmp[2] || tmp[3]));\n        });\n        if (operator && operator !== \"+\") {\n          var separator = \",\";\n          if (operator === \"?\") {\n            separator = \"&\";\n          } else if (operator !== \"#\") {\n            separator = operator;\n          }\n          return (values.length !== 0 ? operator : \"\") + values.join(separator);\n        } else {\n          return values.join(\",\");\n        }\n      } else {\n        return encodeReserved(literal);\n      }\n    }\n  );\n}\nexport {\n  parseUrl\n};\n","import { addQueryParameters } from \"./util/add-query-parameters\";\nimport { extractUrlVariableNames } from \"./util/extract-url-variable-names\";\nimport { omit } from \"./util/omit\";\nimport { parseUrl } from \"./util/url-template\";\nfunction parse(options) {\n  let method = options.method.toUpperCase();\n  let url = (options.url || \"/\").replace(/:([a-z]\\w+)/g, \"{$1}\");\n  let headers = Object.assign({}, options.headers);\n  let body;\n  let parameters = omit(options, [\n    \"method\",\n    \"baseUrl\",\n    \"url\",\n    \"headers\",\n    \"request\",\n    \"mediaType\"\n  ]);\n  const urlVariableNames = extractUrlVariableNames(url);\n  url = parseUrl(url).expand(parameters);\n  if (!/^http/.test(url)) {\n    url = options.baseUrl + url;\n  }\n  const omittedParameters = Object.keys(options).filter((option) => urlVariableNames.includes(option)).concat(\"baseUrl\");\n  const remainingParameters = omit(parameters, omittedParameters);\n  const isBinaryRequest = /application\\/octet-stream/i.test(headers.accept);\n  if (!isBinaryRequest) {\n    if (options.mediaType.format) {\n      headers.accept = headers.accept.split(/,/).map(\n        (format) => format.replace(\n          /application\\/vnd(\\.\\w+)(\\.v3)?(\\.\\w+)?(\\+json)?$/,\n          `application/vnd$1$2.${options.mediaType.format}`\n        )\n      ).join(\",\");\n    }\n    if (url.endsWith(\"/graphql\")) {\n      if (options.mediaType.previews?.length) {\n        const previewsFromAcceptHeader = headers.accept.match(/[\\w-]+(?=-preview)/g) || [];\n        headers.accept = previewsFromAcceptHeader.concat(options.mediaType.previews).map((preview) => {\n          const format = options.mediaType.format ? `.${options.mediaType.format}` : \"+json\";\n          return `application/vnd.github.${preview}-preview${format}`;\n        }).join(\",\");\n      }\n    }\n  }\n  if ([\"GET\", \"HEAD\"].includes(method)) {\n    url = addQueryParameters(url, remainingParameters);\n  } else {\n    if (\"data\" in remainingParameters) {\n      body = remainingParameters.data;\n    } else {\n      if (Object.keys(remainingParameters).length) {\n        body = remainingParameters;\n      }\n    }\n  }\n  if (!headers[\"content-type\"] && typeof body !== \"undefined\") {\n    headers[\"content-type\"] = \"application/json; charset=utf-8\";\n  }\n  if ([\"PATCH\", \"PUT\"].includes(method) && typeof body === \"undefined\") {\n    body = \"\";\n  }\n  return Object.assign(\n    { method, url, headers },\n    typeof body !== \"undefined\" ? { body } : null,\n    options.request ? { request: options.request } : null\n  );\n}\nexport {\n  parse\n};\n","import { DEFAULTS } from \"./defaults\";\nimport { merge } from \"./merge\";\nimport { parse } from \"./parse\";\nfunction endpointWithDefaults(defaults, route, options) {\n  return parse(merge(defaults, route, options));\n}\nexport {\n  endpointWithDefaults\n};\n","import { endpointWithDefaults } from \"./endpoint-with-defaults\";\nimport { merge } from \"./merge\";\nimport { parse } from \"./parse\";\nfunction withDefaults(oldDefaults, newDefaults) {\n  const DEFAULTS = merge(oldDefaults, newDefaults);\n  const endpoint = endpointWithDefaults.bind(null, DEFAULTS);\n  return Object.assign(endpoint, {\n    DEFAULTS,\n    defaults: withDefaults.bind(null, DEFAULTS),\n    merge: merge.bind(null, DEFAULTS),\n    parse\n  });\n}\nexport {\n  withDefaults\n};\n","import { withDefaults } from \"./with-defaults\";\nimport { DEFAULTS } from \"./defaults\";\nconst endpoint = withDefaults(null, DEFAULTS);\nexport {\n  endpoint\n};\n","import { endpoint } from \"@octokit/endpoint\";\nimport { getUserAgent } from \"universal-user-agent\";\nimport { VERSION } from \"./version\";\nimport withDefaults from \"./with-defaults\";\nconst request = withDefaults(endpoint, {\n  headers: {\n    \"user-agent\": `octokit-request.js/${VERSION} ${getUserAgent()}`\n  }\n});\nexport {\n  request\n};\n","const VERSION = \"8.1.1\";\nexport {\n  VERSION\n};\n","import { isPlainObject } from \"is-plain-object\";\nimport { RequestError } from \"@octokit/request-error\";\nimport getBuffer from \"./get-buffer-response\";\nfunction fetchWrapper(requestOptions) {\n  const log = requestOptions.request && requestOptions.request.log ? requestOptions.request.log : console;\n  const parseSuccessResponseBody = requestOptions.request?.parseSuccessResponseBody !== false;\n  if (isPlainObject(requestOptions.body) || Array.isArray(requestOptions.body)) {\n    requestOptions.body = JSON.stringify(requestOptions.body);\n  }\n  let headers = {};\n  let status;\n  let url;\n  let { fetch } = globalThis;\n  if (requestOptions.request?.fetch) {\n    fetch = requestOptions.request.fetch;\n  }\n  if (!fetch) {\n    throw new Error(\n      \"fetch is not set. Please pass a fetch implementation as new Octokit({ request: { fetch }}). Learn more at https://github.com/octokit/octokit.js/#fetch-missing\"\n    );\n  }\n  return fetch(requestOptions.url, {\n    method: requestOptions.method,\n    body: requestOptions.body,\n    headers: requestOptions.headers,\n    signal: requestOptions.request?.signal,\n    // duplex must be set if request.body is ReadableStream or Async Iterables.\n    // See https://fetch.spec.whatwg.org/#dom-requestinit-duplex.\n    ...requestOptions.body && { duplex: \"half\" }\n  }).then(async (response) => {\n    url = response.url;\n    status = response.status;\n    for (const keyAndValue of response.headers) {\n      headers[keyAndValue[0]] = keyAndValue[1];\n    }\n    if (\"deprecation\" in headers) {\n      const matches = headers.link && headers.link.match(/<([^>]+)>; rel=\"deprecation\"/);\n      const deprecationLink = matches && matches.pop();\n      log.warn(\n        `[@octokit/request] \"${requestOptions.method} ${requestOptions.url}\" is deprecated. It is scheduled to be removed on ${headers.sunset}${deprecationLink ? `. See ${deprecationLink}` : \"\"}`\n      );\n    }\n    if (status === 204 || status === 205) {\n      return;\n    }\n    if (requestOptions.method === \"HEAD\") {\n      if (status < 400) {\n        return;\n      }\n      throw new RequestError(response.statusText, status, {\n        response: {\n          url,\n          status,\n          headers,\n          data: void 0\n        },\n        request: requestOptions\n      });\n    }\n    if (status === 304) {\n      throw new RequestError(\"Not modified\", status, {\n        response: {\n          url,\n          status,\n          headers,\n          data: await getResponseData(response)\n        },\n        request: requestOptions\n      });\n    }\n    if (status >= 400) {\n      const data = await getResponseData(response);\n      const error = new RequestError(toErrorMessage(data), status, {\n        response: {\n          url,\n          status,\n          headers,\n          data\n        },\n        request: requestOptions\n      });\n      throw error;\n    }\n    return parseSuccessResponseBody ? await getResponseData(response) : response.body;\n  }).then((data) => {\n    return {\n      status,\n      url,\n      headers,\n      data\n    };\n  }).catch((error) => {\n    if (error instanceof RequestError)\n      throw error;\n    else if (error.name === \"AbortError\")\n      throw error;\n    throw new RequestError(error.message, 500, {\n      request: requestOptions\n    });\n  });\n}\nasync function getResponseData(response) {\n  const contentType = response.headers.get(\"content-type\");\n  if (/application\\/json/.test(contentType)) {\n    return response.json();\n  }\n  if (!contentType || /^text\\/|charset=utf-8$/.test(contentType)) {\n    return response.text();\n  }\n  return getBuffer(response);\n}\nfunction toErrorMessage(data) {\n  if (typeof data === \"string\")\n    return data;\n  if (\"message\" in data) {\n    if (Array.isArray(data.errors)) {\n      return `${data.message}: ${data.errors.map(JSON.stringify).join(\", \")}`;\n    }\n    return data.message;\n  }\n  return `Unknown error: ${JSON.stringify(data)}`;\n}\nexport {\n  fetchWrapper as default\n};\n","import { Deprecation } from \"deprecation\";\nimport once from \"once\";\nconst logOnceCode = once((deprecation) => console.warn(deprecation));\nconst logOnceHeaders = once((deprecation) => console.warn(deprecation));\nclass RequestError extends Error {\n  constructor(message, statusCode, options) {\n    super(message);\n    if (Error.captureStackTrace) {\n      Error.captureStackTrace(this, this.constructor);\n    }\n    this.name = \"HttpError\";\n    this.status = statusCode;\n    let headers;\n    if (\"headers\" in options && typeof options.headers !== \"undefined\") {\n      headers = options.headers;\n    }\n    if (\"response\" in options) {\n      this.response = options.response;\n      headers = options.response.headers;\n    }\n    const requestCopy = Object.assign({}, options.request);\n    if (options.request.headers.authorization) {\n      requestCopy.headers = Object.assign({}, options.request.headers, {\n        authorization: options.request.headers.authorization.replace(\n          / .*$/,\n          \" [REDACTED]\"\n        )\n      });\n    }\n    requestCopy.url = requestCopy.url.replace(/\\bclient_secret=\\w+/g, \"client_secret=[REDACTED]\").replace(/\\baccess_token=\\w+/g, \"access_token=[REDACTED]\");\n    this.request = requestCopy;\n    Object.defineProperty(this, \"code\", {\n      get() {\n        logOnceCode(\n          new Deprecation(\n            \"[@octokit/request-error] `error.code` is deprecated, use `error.status`.\"\n          )\n        );\n        return statusCode;\n      }\n    });\n    Object.defineProperty(this, \"headers\", {\n      get() {\n        logOnceHeaders(\n          new Deprecation(\n            \"[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`.\"\n          )\n        );\n        return headers || {};\n      }\n    });\n  }\n}\nexport {\n  RequestError\n};\n","function getBufferResponse(response) {\n  return response.arrayBuffer();\n}\nexport {\n  getBufferResponse as default\n};\n","import fetchWrapper from \"./fetch-wrapper\";\nfunction withDefaults(oldEndpoint, newDefaults) {\n  const endpoint = oldEndpoint.defaults(newDefaults);\n  const newApi = function(route, parameters) {\n    const endpointOptions = endpoint.merge(route, parameters);\n    if (!endpointOptions.request || !endpointOptions.request.hook) {\n      return fetchWrapper(endpoint.parse(endpointOptions));\n    }\n    const request = (route2, parameters2) => {\n      return fetchWrapper(\n        endpoint.parse(endpoint.merge(route2, parameters2))\n      );\n    };\n    Object.assign(request, {\n      endpoint,\n      defaults: withDefaults.bind(null, endpoint)\n    });\n    return endpointOptions.request.hook(request, endpointOptions);\n  };\n  return Object.assign(newApi, {\n    endpoint,\n    defaults: withDefaults.bind(null, endpoint)\n  });\n}\nexport {\n  withDefaults as default\n};\n","// pkg/dist-src/index.js\nimport { request } from \"@octokit/request\";\nimport { getUserAgent } from \"universal-user-agent\";\n\n// pkg/dist-src/version.js\nvar VERSION = \"7.0.1\";\n\n// pkg/dist-src/with-defaults.js\nimport { request as Request2 } from \"@octokit/request\";\n\n// pkg/dist-src/graphql.js\nimport { request as Request } from \"@octokit/request\";\n\n// pkg/dist-src/error.js\nfunction _buildMessageForResponseErrors(data) {\n  return `Request failed due to following response errors:\n` + data.errors.map((e) => ` - ${e.message}`).join(\"\\n\");\n}\nvar GraphqlResponseError = class extends Error {\n  constructor(request2, headers, response) {\n    super(_buildMessageForResponseErrors(response));\n    this.request = request2;\n    this.headers = headers;\n    this.response = response;\n    this.name = \"GraphqlResponseError\";\n    this.errors = response.errors;\n    this.data = response.data;\n    if (Error.captureStackTrace) {\n      Error.captureStackTrace(this, this.constructor);\n    }\n  }\n};\n\n// pkg/dist-src/graphql.js\nvar NON_VARIABLE_OPTIONS = [\n  \"method\",\n  \"baseUrl\",\n  \"url\",\n  \"headers\",\n  \"request\",\n  \"query\",\n  \"mediaType\"\n];\nvar FORBIDDEN_VARIABLE_OPTIONS = [\"query\", \"method\", \"url\"];\nvar GHES_V3_SUFFIX_REGEX = /\\/api\\/v3\\/?$/;\nfunction graphql(request2, query, options) {\n  if (options) {\n    if (typeof query === \"string\" && \"query\" in options) {\n      return Promise.reject(\n        new Error(`[@octokit/graphql] \"query\" cannot be used as variable name`)\n      );\n    }\n    for (const key in options) {\n      if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key))\n        continue;\n      return Promise.reject(\n        new Error(\n          `[@octokit/graphql] \"${key}\" cannot be used as variable name`\n        )\n      );\n    }\n  }\n  const parsedOptions = typeof query === \"string\" ? Object.assign({ query }, options) : query;\n  const requestOptions = Object.keys(\n    parsedOptions\n  ).reduce((result, key) => {\n    if (NON_VARIABLE_OPTIONS.includes(key)) {\n      result[key] = parsedOptions[key];\n      return result;\n    }\n    if (!result.variables) {\n      result.variables = {};\n    }\n    result.variables[key] = parsedOptions[key];\n    return result;\n  }, {});\n  const baseUrl = parsedOptions.baseUrl || request2.endpoint.DEFAULTS.baseUrl;\n  if (GHES_V3_SUFFIX_REGEX.test(baseUrl)) {\n    requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, \"/api/graphql\");\n  }\n  return request2(requestOptions).then((response) => {\n    if (response.data.errors) {\n      const headers = {};\n      for (const key of Object.keys(response.headers)) {\n        headers[key] = response.headers[key];\n      }\n      throw new GraphqlResponseError(\n        requestOptions,\n        headers,\n        response.data\n      );\n    }\n    return response.data.data;\n  });\n}\n\n// pkg/dist-src/with-defaults.js\nfunction withDefaults(request2, newDefaults) {\n  const newRequest = request2.defaults(newDefaults);\n  const newApi = (query, options) => {\n    return graphql(newRequest, query, options);\n  };\n  return Object.assign(newApi, {\n    defaults: withDefaults.bind(null, newRequest),\n    endpoint: newRequest.endpoint\n  });\n}\n\n// pkg/dist-src/index.js\nvar graphql2 = withDefaults(request, {\n  headers: {\n    \"user-agent\": `octokit-graphql.js/${VERSION} ${getUserAgent()}`\n  },\n  method: \"POST\",\n  url: \"/graphql\"\n});\nfunction withCustomRequest(customRequest) {\n  return withDefaults(customRequest, {\n    method: \"POST\",\n    url: \"/graphql\"\n  });\n}\nexport {\n  GraphqlResponseError,\n  graphql2 as graphql,\n  withCustomRequest\n};\n","const REGEX_IS_INSTALLATION_LEGACY = /^v1\\./;\nconst REGEX_IS_INSTALLATION = /^ghs_/;\nconst REGEX_IS_USER_TO_SERVER = /^ghu_/;\nasync function auth(token) {\n  const isApp = token.split(/\\./).length === 3;\n  const isInstallation = REGEX_IS_INSTALLATION_LEGACY.test(token) || REGEX_IS_INSTALLATION.test(token);\n  const isUserToServer = REGEX_IS_USER_TO_SERVER.test(token);\n  const tokenType = isApp ? \"app\" : isInstallation ? \"installation\" : isUserToServer ? \"user-to-server\" : \"oauth\";\n  return {\n    type: \"token\",\n    token,\n    tokenType\n  };\n}\nexport {\n  auth\n};\n","function withAuthorizationPrefix(token) {\n  if (token.split(/\\./).length === 3) {\n    return `bearer ${token}`;\n  }\n  return `token ${token}`;\n}\nexport {\n  withAuthorizationPrefix\n};\n","import { withAuthorizationPrefix } from \"./with-authorization-prefix\";\nasync function hook(token, request, route, parameters) {\n  const endpoint = request.endpoint.merge(\n    route,\n    parameters\n  );\n  endpoint.headers.authorization = withAuthorizationPrefix(token);\n  return request(endpoint);\n}\nexport {\n  hook\n};\n","import { auth } from \"./auth\";\nimport { hook } from \"./hook\";\nconst createTokenAuth = function createTokenAuth2(token) {\n  if (!token) {\n    throw new Error(\"[@octokit/auth-token] No token passed to createTokenAuth\");\n  }\n  if (typeof token !== \"string\") {\n    throw new Error(\n      \"[@octokit/auth-token] Token passed to createTokenAuth is not a string\"\n    );\n  }\n  token = token.replace(/^(token|bearer) +/i, \"\");\n  return Object.assign(auth.bind(null, token), {\n    hook: hook.bind(null, token)\n  });\n};\nexport {\n  createTokenAuth\n};\n","const generateMessage = (path, cursorValue) => `The cursor at \"${path.join(\n  \",\"\n)}\" did not change its value \"${cursorValue}\" after a page transition. Please make sure your that your query is set up correctly.`;\nclass MissingCursorChange extends Error {\n  constructor(pageInfo, cursorValue) {\n    super(generateMessage(pageInfo.pathInQuery, cursorValue));\n    this.pageInfo = pageInfo;\n    this.cursorValue = cursorValue;\n    this.name = \"MissingCursorChangeError\";\n    if (Error.captureStackTrace) {\n      Error.captureStackTrace(this, this.constructor);\n    }\n  }\n}\nclass MissingPageInfo extends Error {\n  constructor(response) {\n    super(\n      `No pageInfo property found in response. Please make sure to specify the pageInfo in your query. Response-Data: ${JSON.stringify(\n        response,\n        null,\n        2\n      )}`\n    );\n    this.response = response;\n    this.name = \"MissingPageInfo\";\n    if (Error.captureStackTrace) {\n      Error.captureStackTrace(this, this.constructor);\n    }\n  }\n}\nexport {\n  MissingCursorChange,\n  MissingPageInfo\n};\n","import { MissingPageInfo } from \"./errors\";\nconst isObject = (value) => Object.prototype.toString.call(value) === \"[object Object]\";\nfunction findPaginatedResourcePath(responseData) {\n  const paginatedResourcePath = deepFindPathToProperty(\n    responseData,\n    \"pageInfo\"\n  );\n  if (paginatedResourcePath.length === 0) {\n    throw new MissingPageInfo(responseData);\n  }\n  return paginatedResourcePath;\n}\nconst deepFindPathToProperty = (object, searchProp, path = []) => {\n  for (const key of Object.keys(object)) {\n    const currentPath = [...path, key];\n    const currentValue = object[key];\n    if (currentValue.hasOwnProperty(searchProp)) {\n      return currentPath;\n    }\n    if (isObject(currentValue)) {\n      const result = deepFindPathToProperty(\n        currentValue,\n        searchProp,\n        currentPath\n      );\n      if (result.length > 0) {\n        return result;\n      }\n    }\n  }\n  return [];\n};\nconst get = (object, path) => {\n  return path.reduce((current, nextProperty) => current[nextProperty], object);\n};\nconst set = (object, path, mutator) => {\n  const lastProperty = path[path.length - 1];\n  const parentPath = [...path].slice(0, -1);\n  const parent = get(object, parentPath);\n  if (typeof mutator === \"function\") {\n    parent[lastProperty] = mutator(parent[lastProperty]);\n  } else {\n    parent[lastProperty] = mutator;\n  }\n};\nexport {\n  findPaginatedResourcePath,\n  get,\n  set\n};\n","import { findPaginatedResourcePath, get } from \"./object-helpers\";\nconst extractPageInfos = (responseData) => {\n  const pageInfoPath = findPaginatedResourcePath(responseData);\n  return {\n    pathInQuery: pageInfoPath,\n    pageInfo: get(responseData, [...pageInfoPath, \"pageInfo\"])\n  };\n};\nexport {\n  extractPageInfos\n};\n","const isForwardSearch = (givenPageInfo) => {\n  return givenPageInfo.hasOwnProperty(\"hasNextPage\");\n};\nconst getCursorFrom = (pageInfo) => isForwardSearch(pageInfo) ? pageInfo.endCursor : pageInfo.startCursor;\nconst hasAnotherPage = (pageInfo) => isForwardSearch(pageInfo) ? pageInfo.hasNextPage : pageInfo.hasPreviousPage;\nexport {\n  getCursorFrom,\n  hasAnotherPage\n};\n","import { extractPageInfos } from \"./extract-page-info\";\nimport { Octokit } from \"@octokit/core\";\nimport { getCursorFrom, hasAnotherPage } from \"./page-info\";\nimport { MissingCursorChange } from \"./errors\";\nconst createIterator = (octokit) => {\n  return (query, initialParameters = {}) => {\n    let nextPageExists = true;\n    let parameters = { ...initialParameters };\n    return {\n      [Symbol.asyncIterator]: () => ({\n        async next() {\n          if (!nextPageExists)\n            return { done: true, value: {} };\n          const response = await octokit.graphql(\n            query,\n            parameters\n          );\n          const pageInfoContext = extractPageInfos(response);\n          const nextCursorValue = getCursorFrom(pageInfoContext.pageInfo);\n          nextPageExists = hasAnotherPage(pageInfoContext.pageInfo);\n          if (nextPageExists && nextCursorValue === parameters.cursor) {\n            throw new MissingCursorChange(pageInfoContext, nextCursorValue);\n          }\n          parameters = {\n            ...parameters,\n            cursor: nextCursorValue\n          };\n          return { done: false, value: response };\n        }\n      })\n    };\n  };\n};\nexport {\n  createIterator\n};\n","import { findPaginatedResourcePath, get, set } from \"./object-helpers\";\nconst mergeResponses = (response1, response2) => {\n  if (Object.keys(response1).length === 0) {\n    return Object.assign(response1, response2);\n  }\n  const path = findPaginatedResourcePath(response1);\n  const nodesPath = [...path, \"nodes\"];\n  const newNodes = get(response2, nodesPath);\n  if (newNodes) {\n    set(response1, nodesPath, (values) => {\n      return [...values, ...newNodes];\n    });\n  }\n  const edgesPath = [...path, \"edges\"];\n  const newEdges = get(response2, edgesPath);\n  if (newEdges) {\n    set(response1, edgesPath, (values) => {\n      return [...values, ...newEdges];\n    });\n  }\n  const pageInfoPath = [...path, \"pageInfo\"];\n  set(response1, pageInfoPath, get(response2, pageInfoPath));\n  return response1;\n};\nexport {\n  mergeResponses\n};\n","import { Octokit } from \"@octokit/core\";\nimport { mergeResponses } from \"./merge-responses\";\nimport { createIterator } from \"./iterator\";\nconst createPaginate = (octokit) => {\n  const iterator = createIterator(octokit);\n  return async (query, initialParameters = {}) => {\n    let mergedResponse = {};\n    for await (const response of iterator(\n      query,\n      initialParameters\n    )) {\n      mergedResponse = mergeResponses(mergedResponse, response);\n    }\n    return mergedResponse;\n  };\n};\nexport {\n  createPaginate\n};\n","import { Octokit } from \"@octokit/core\";\nimport { createIterator } from \"./iterator\";\nimport { createPaginate } from \"./paginate\";\nfunction paginateGraphql(octokit) {\n  octokit.graphql;\n  return {\n    graphql: Object.assign(octokit.graphql, {\n      paginate: Object.assign(createPaginate(octokit), {\n        iterator: createIterator(octokit)\n      })\n    })\n  };\n}\nexport {\n  paginateGraphql\n};\n","/**\n * Index.js\n *\n * a request API compatible with window.fetch\n *\n * All spec algorithm step numbers are based on https://fetch.spec.whatwg.org/commit-snapshots/ae716822cb3a61843226cd090eefc6589446c1d2/.\n */\n\nimport http from 'node:http';\nimport https from 'node:https';\nimport zlib from 'node:zlib';\nimport Stream, {PassThrough, pipeline as pump} from 'node:stream';\nimport {Buffer} from 'node:buffer';\n\nimport dataUriToBuffer from 'data-uri-to-buffer';\n\nimport {writeToStream, clone} from './body.js';\nimport Response from './response.js';\nimport Headers, {fromRawHeaders} from './headers.js';\nimport Request, {getNodeRequestOptions} from './request.js';\nimport {FetchError} from './errors/fetch-error.js';\nimport {AbortError} from './errors/abort-error.js';\nimport {isRedirect} from './utils/is-redirect.js';\nimport {FormData} from 'formdata-polyfill/esm.min.js';\nimport {isDomainOrSubdomain, isSameProtocol} from './utils/is.js';\nimport {parseReferrerPolicyFromHeader} from './utils/referrer.js';\nimport {\n\tBlob,\n\tFile,\n\tfileFromSync,\n\tfileFrom,\n\tblobFromSync,\n\tblobFrom\n} from 'fetch-blob/from.js';\n\nexport {FormData, Headers, Request, Response, FetchError, AbortError, isRedirect};\nexport {Blob, File, fileFromSync, fileFrom, blobFromSync, blobFrom};\n\nconst supportedSchemas = new Set(['data:', 'http:', 'https:']);\n\n/**\n * Fetch function\n *\n * @param   {string | URL | import('./request').default} url - Absolute url or Request instance\n * @param   {*} [options_] - Fetch options\n * @return  {Promise}\n */\nexport default async function fetch(url, options_) {\n\treturn new Promise((resolve, reject) => {\n\t\t// Build request object\n\t\tconst request = new Request(url, options_);\n\t\tconst {parsedURL, options} = getNodeRequestOptions(request);\n\t\tif (!supportedSchemas.has(parsedURL.protocol)) {\n\t\t\tthrow new TypeError(`node-fetch cannot load ${url}. URL scheme \"${parsedURL.protocol.replace(/:$/, '')}\" is not supported.`);\n\t\t}\n\n\t\tif (parsedURL.protocol === 'data:') {\n\t\t\tconst data = dataUriToBuffer(request.url);\n\t\t\tconst response = new Response(data, {headers: {'Content-Type': data.typeFull}});\n\t\t\tresolve(response);\n\t\t\treturn;\n\t\t}\n\n\t\t// Wrap http.request into fetch\n\t\tconst send = (parsedURL.protocol === 'https:' ? https : http).request;\n\t\tconst {signal} = request;\n\t\tlet response = null;\n\n\t\tconst abort = () => {\n\t\t\tconst error = new AbortError('The operation was aborted.');\n\t\t\treject(error);\n\t\t\tif (request.body && request.body instanceof Stream.Readable) {\n\t\t\t\trequest.body.destroy(error);\n\t\t\t}\n\n\t\t\tif (!response || !response.body) {\n\t\t\t\treturn;\n\t\t\t}\n\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 = () => {\n\t\t\tabort();\n\t\t\tfinalize();\n\t\t};\n\n\t\t// Send request\n\t\tconst request_ = send(parsedURL.toString(), options);\n\n\t\tif (signal) {\n\t\t\tsignal.addEventListener('abort', abortAndFinalize);\n\t\t}\n\n\t\tconst finalize = () => {\n\t\t\trequest_.abort();\n\t\t\tif (signal) {\n\t\t\t\tsignal.removeEventListener('abort', abortAndFinalize);\n\t\t\t}\n\t\t};\n\n\t\trequest_.on('error', error => {\n\t\t\treject(new FetchError(`request to ${request.url} failed, reason: ${error.message}`, 'system', error));\n\t\t\tfinalize();\n\t\t});\n\n\t\tfixResponseChunkedTransferBadEnding(request_, error => {\n\t\t\tif (response && response.body) {\n\t\t\t\tresponse.body.destroy(error);\n\t\t\t}\n\t\t});\n\n\t\t/* c8 ignore next 18 */\n\t\tif (process.version < 'v14') {\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\trequest_.on('socket', s => {\n\t\t\t\tlet endedWithEventsCount;\n\t\t\t\ts.prependListener('end', () => {\n\t\t\t\t\tendedWithEventsCount = s._eventsCount;\n\t\t\t\t});\n\t\t\t\ts.prependListener('close', hadError => {\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 && endedWithEventsCount < s._eventsCount && !hadError) {\n\t\t\t\t\t\tconst error = new Error('Premature close');\n\t\t\t\t\t\terror.code = 'ERR_STREAM_PREMATURE_CLOSE';\n\t\t\t\t\t\tresponse.body.emit('error', error);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\n\t\trequest_.on('response', response_ => {\n\t\t\trequest_.setTimeout(0);\n\t\t\tconst headers = fromRawHeaders(response_.rawHeaders);\n\n\t\t\t// HTTP fetch step 5\n\t\t\tif (isRedirect(response_.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(location, request.url);\n\t\t\t\t} catch {\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// Nothing to do\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 requestOptions = {\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: clone(request),\n\t\t\t\t\t\t\tsignal: request.signal,\n\t\t\t\t\t\t\tsize: request.size,\n\t\t\t\t\t\t\treferrer: request.referrer,\n\t\t\t\t\t\t\treferrerPolicy: request.referrerPolicy\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\t// when forwarding sensitive headers like \"Authorization\",\n\t\t\t\t\t\t// \"WWW-Authenticate\", and \"Cookie\" to untrusted targets,\n\t\t\t\t\t\t// headers will be ignored when following a redirect to a domain\n\t\t\t\t\t\t// that is not a subdomain match or exact match of the initial domain.\n\t\t\t\t\t\t// For example, a redirect from \"foo.com\" to either \"foo.com\" or \"sub.foo.com\"\n\t\t\t\t\t\t// will forward the sensitive headers, but a redirect to \"bar.com\" will not.\n\t\t\t\t\t\t// headers will also be ignored when following a redirect to a domain using\n\t\t\t\t\t\t// a different protocol. For example, a redirect from \"https://foo.com\" to \"http://foo.com\"\n\t\t\t\t\t\t// will not forward the sensitive headers\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\trequestOptions.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 (response_.statusCode !== 303 && request.body && options_.body instanceof Stream.Readable) {\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 (response_.statusCode === 303 || ((response_.statusCode === 301 || response_.statusCode === 302) && request.method === 'POST')) {\n\t\t\t\t\t\t\trequestOptions.method = 'GET';\n\t\t\t\t\t\t\trequestOptions.body = undefined;\n\t\t\t\t\t\t\trequestOptions.headers.delete('content-length');\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 14\n\t\t\t\t\t\tconst responseReferrerPolicy = parseReferrerPolicyFromHeader(headers);\n\t\t\t\t\t\tif (responseReferrerPolicy) {\n\t\t\t\t\t\t\trequestOptions.referrerPolicy = responseReferrerPolicy;\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, requestOptions)));\n\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tdefault:\n\t\t\t\t\t\treturn reject(new TypeError(`Redirect option '${request.redirect}' is not a valid value of RequestRedirect`));\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Prepare response\n\t\t\tif (signal) {\n\t\t\t\tresponse_.once('end', () => {\n\t\t\t\t\tsignal.removeEventListener('abort', abortAndFinalize);\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tlet body = pump(response_, new PassThrough(), error => {\n\t\t\t\tif (error) {\n\t\t\t\t\treject(error);\n\t\t\t\t}\n\t\t\t});\n\t\t\t// see https://github.com/nodejs/node/pull/29376\n\t\t\t/* c8 ignore next 3 */\n\t\t\tif (process.version < 'v12.10') {\n\t\t\t\tresponse_.on('aborted', abortAndFinalize);\n\t\t\t}\n\n\t\t\tconst responseOptions = {\n\t\t\t\turl: request.url,\n\t\t\t\tstatus: response_.statusCode,\n\t\t\t\tstatusText: response_.statusMessage,\n\t\t\t\theaders,\n\t\t\t\tsize: request.size,\n\t\t\t\tcounter: request.counter,\n\t\t\t\thighWaterMark: request.highWaterMark\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 || response_.statusCode === 204 || response_.statusCode === 304) {\n\t\t\t\tresponse = new Response(body, responseOptions);\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 = pump(body, zlib.createGunzip(zlibOptions), error => {\n\t\t\t\t\tif (error) {\n\t\t\t\t\t\treject(error);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tresponse = new Response(body, responseOptions);\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 = pump(response_, new PassThrough(), error => {\n\t\t\t\t\tif (error) {\n\t\t\t\t\t\treject(error);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\traw.once('data', 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 = pump(body, zlib.createInflate(), error => {\n\t\t\t\t\t\t\tif (error) {\n\t\t\t\t\t\t\t\treject(error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbody = pump(body, zlib.createInflateRaw(), error => {\n\t\t\t\t\t\t\tif (error) {\n\t\t\t\t\t\t\t\treject(error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\n\t\t\t\t\tresponse = new Response(body, responseOptions);\n\t\t\t\t\tresolve(response);\n\t\t\t\t});\n\t\t\t\traw.once('end', () => {\n\t\t\t\t\t// Some old IIS servers return zero-length OK deflate responses, so\n\t\t\t\t\t// 'data' is never emitted. See https://github.com/node-fetch/node-fetch/pull/903\n\t\t\t\t\tif (!response) {\n\t\t\t\t\t\tresponse = new Response(body, responseOptions);\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') {\n\t\t\t\tbody = pump(body, zlib.createBrotliDecompress(), error => {\n\t\t\t\t\tif (error) {\n\t\t\t\t\t\treject(error);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tresponse = new Response(body, responseOptions);\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, responseOptions);\n\t\t\tresolve(response);\n\t\t});\n\n\t\t// eslint-disable-next-line promise/prefer-await-to-then\n\t\twriteToStream(request_, request).catch(reject);\n\t});\n}\n\nfunction fixResponseChunkedTransferBadEnding(request, errorCallback) {\n\tconst LAST_CHUNK = Buffer.from('0\\r\\n\\r\\n');\n\n\tlet isChunkedTransfer = false;\n\tlet properLastChunkReceived = false;\n\tlet previousChunk;\n\n\trequest.on('response', response => {\n\t\tconst {headers} = response;\n\t\tisChunkedTransfer = headers['transfer-encoding'] === 'chunked' && !headers['content-length'];\n\t});\n\n\trequest.on('socket', socket => {\n\t\tconst onSocketClose = () => {\n\t\t\tif (isChunkedTransfer && !properLastChunkReceived) {\n\t\t\t\tconst error = new Error('Premature close');\n\t\t\t\terror.code = 'ERR_STREAM_PREMATURE_CLOSE';\n\t\t\t\terrorCallback(error);\n\t\t\t}\n\t\t};\n\n\t\tconst onData = buf => {\n\t\t\tproperLastChunkReceived = Buffer.compare(buf.slice(-5), LAST_CHUNK) === 0;\n\n\t\t\t// Sometimes final 0-length chunk and end of message code are in separate packets\n\t\t\tif (!properLastChunkReceived && previousChunk) {\n\t\t\t\tproperLastChunkReceived = (\n\t\t\t\t\tBuffer.compare(previousChunk.slice(-3), LAST_CHUNK.slice(0, 3)) === 0 &&\n\t\t\t\t\tBuffer.compare(buf.slice(-2), LAST_CHUNK.slice(3)) === 0\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tpreviousChunk = buf;\n\t\t};\n\n\t\tsocket.prependListener('close', onSocketClose);\n\t\tsocket.on('data', onData);\n\n\t\trequest.on('close', () => {\n\t\t\tsocket.removeListener('close', onSocketClose);\n\t\t\tsocket.removeListener('data', onData);\n\t\t});\n\t});\n}\n","export interface MimeBuffer extends Buffer {\n\ttype: string;\n\ttypeFull: string;\n\tcharset: string;\n}\n\n/**\n * Returns a `Buffer` instance from the given data URI `uri`.\n *\n * @param {String} uri Data URI to turn into a Buffer instance\n * @returns {Buffer} Buffer instance from Data URI\n * @api public\n */\nexport function dataUriToBuffer(uri: string): MimeBuffer {\n\tif (!/^data:/i.test(uri)) {\n\t\tthrow new TypeError(\n\t\t\t'`uri` does not appear to be a Data URI (must begin with \"data:\")'\n\t\t);\n\t}\n\n\t// strip newlines\n\turi = uri.replace(/\\r?\\n/g, '');\n\n\t// split the URI up into the \"metadata\" and the \"data\" portions\n\tconst firstComma = uri.indexOf(',');\n\tif (firstComma === -1 || firstComma <= 4) {\n\t\tthrow new TypeError('malformed data: URI');\n\t}\n\n\t// remove the \"data:\" scheme and parse the metadata\n\tconst meta = uri.substring(5, firstComma).split(';');\n\n\tlet charset = '';\n\tlet base64 = false;\n\tconst type = meta[0] || 'text/plain';\n\tlet typeFull = type;\n\tfor (let i = 1; i < meta.length; i++) {\n\t\tif (meta[i] === 'base64') {\n\t\t\tbase64 = true;\n\t\t} else if(meta[i]) {\n\t\t\ttypeFull += `;${  meta[i]}`;\n\t\t\tif (meta[i].indexOf('charset=') === 0) {\n\t\t\t\tcharset = meta[i].substring(8);\n\t\t\t}\n\t\t}\n\t}\n\t// defaults to US-ASCII only if type is not provided\n\tif (!meta[0] && !charset.length) {\n\t\ttypeFull += ';charset=US-ASCII';\n\t\tcharset = 'US-ASCII';\n\t}\n\n\t// get the encoded data portion and decode URI-encoded chars\n\tconst encoding = base64 ? 'base64' : 'ascii';\n\tconst data = unescape(uri.substring(firstComma + 1));\n\tconst buffer = Buffer.from(data, encoding) as MimeBuffer;\n\n\t// set `.type` and `.typeFull` properties to MIME type\n\tbuffer.type = type;\n\tbuffer.typeFull = typeFull;\n\n\t// set the `.charset` property\n\tbuffer.charset = charset;\n\n\treturn buffer;\n}\n\nexport default dataUriToBuffer;\n","\n/**\n * Body.js\n *\n * Body interface provides common methods for Request and Response\n */\n\nimport Stream, {PassThrough} from 'node:stream';\nimport {types, deprecate, promisify} from 'node:util';\nimport {Buffer} from 'node:buffer';\n\nimport Blob from 'fetch-blob';\nimport {FormData, formDataToBlob} from 'formdata-polyfill/esm.min.js';\n\nimport {FetchError} from './errors/fetch-error.js';\nimport {FetchBaseError} from './errors/base.js';\nimport {isBlob, isURLSearchParameters} from './utils/is.js';\n\nconst pipeline = promisify(Stream.pipeline);\nconst INTERNALS = Symbol('Body internals');\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 */\nexport default class Body {\n\tconstructor(body, {\n\t\tsize = 0\n\t} = {}) {\n\t\tlet boundary = null;\n\n\t\tif (body === null) {\n\t\t\t// Body is undefined or null\n\t\t\tbody = null;\n\t\t} else if (isURLSearchParameters(body)) {\n\t\t\t// Body is a URLSearchParams\n\t\t\tbody = Buffer.from(body.toString());\n\t\t} else if (isBlob(body)) {\n\t\t\t// Body is blob\n\t\t} else if (Buffer.isBuffer(body)) {\n\t\t\t// Body is Buffer\n\t\t} else if (types.isAnyArrayBuffer(body)) {\n\t\t\t// Body is ArrayBuffer\n\t\t\tbody = Buffer.from(body);\n\t\t} else if (ArrayBuffer.isView(body)) {\n\t\t\t// Body is ArrayBufferView\n\t\t\tbody = Buffer.from(body.buffer, body.byteOffset, body.byteLength);\n\t\t} else if (body instanceof Stream) {\n\t\t\t// Body is stream\n\t\t} else if (body instanceof FormData) {\n\t\t\t// Body is FormData\n\t\t\tbody = formDataToBlob(body);\n\t\t\tboundary = body.type.split('=')[1];\n\t\t} else {\n\t\t\t// None of the above\n\t\t\t// coerce to string then buffer\n\t\t\tbody = Buffer.from(String(body));\n\t\t}\n\n\t\tlet stream = body;\n\n\t\tif (Buffer.isBuffer(body)) {\n\t\t\tstream = Stream.Readable.from(body);\n\t\t} else if (isBlob(body)) {\n\t\t\tstream = Stream.Readable.from(body.stream());\n\t\t}\n\n\t\tthis[INTERNALS] = {\n\t\t\tbody,\n\t\t\tstream,\n\t\t\tboundary,\n\t\t\tdisturbed: false,\n\t\t\terror: null\n\t\t};\n\t\tthis.size = size;\n\n\t\tif (body instanceof Stream) {\n\t\t\tbody.on('error', error_ => {\n\t\t\t\tconst error = error_ instanceof FetchBaseError ?\n\t\t\t\t\terror_ :\n\t\t\t\t\tnew FetchError(`Invalid response body while trying to fetch ${this.url}: ${error_.message}`, 'system', error_);\n\t\t\t\tthis[INTERNALS].error = error;\n\t\t\t});\n\t\t}\n\t}\n\n\tget body() {\n\t\treturn this[INTERNALS].stream;\n\t}\n\n\tget bodyUsed() {\n\t\treturn this[INTERNALS].disturbed;\n\t}\n\n\t/**\n\t * Decode response as ArrayBuffer\n\t *\n\t * @return  Promise\n\t */\n\tasync arrayBuffer() {\n\t\tconst {buffer, byteOffset, byteLength} = await consumeBody(this);\n\t\treturn buffer.slice(byteOffset, byteOffset + byteLength);\n\t}\n\n\tasync formData() {\n\t\tconst ct = this.headers.get('content-type');\n\n\t\tif (ct.startsWith('application/x-www-form-urlencoded')) {\n\t\t\tconst formData = new FormData();\n\t\t\tconst parameters = new URLSearchParams(await this.text());\n\n\t\t\tfor (const [name, value] of parameters) {\n\t\t\t\tformData.append(name, value);\n\t\t\t}\n\n\t\t\treturn formData;\n\t\t}\n\n\t\tconst {toFormData} = await import('./utils/multipart-parser.js');\n\t\treturn toFormData(this.body, ct);\n\t}\n\n\t/**\n\t * Return raw response as Blob\n\t *\n\t * @return Promise\n\t */\n\tasync blob() {\n\t\tconst ct = (this.headers && this.headers.get('content-type')) || (this[INTERNALS].body && this[INTERNALS].body.type) || '';\n\t\tconst buf = await this.arrayBuffer();\n\n\t\treturn new Blob([buf], {\n\t\t\ttype: ct\n\t\t});\n\t}\n\n\t/**\n\t * Decode response as json\n\t *\n\t * @return  Promise\n\t */\n\tasync json() {\n\t\tconst text = await this.text();\n\t\treturn JSON.parse(text);\n\t}\n\n\t/**\n\t * Decode response as text\n\t *\n\t * @return  Promise\n\t */\n\tasync text() {\n\t\tconst buffer = await consumeBody(this);\n\t\treturn new TextDecoder().decode(buffer);\n\t}\n\n\t/**\n\t * Decode response as buffer (non-spec api)\n\t *\n\t * @return  Promise\n\t */\n\tbuffer() {\n\t\treturn consumeBody(this);\n\t}\n}\n\nBody.prototype.buffer = deprecate(Body.prototype.buffer, 'Please use \\'response.arrayBuffer()\\' instead of \\'response.buffer()\\'', 'node-fetch#buffer');\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\tdata: {get: deprecate(() => {},\n\t\t'data doesn\\'t exist, use json(), text(), arrayBuffer(), or body instead',\n\t\t'https://github.com/node-fetch/node-fetch/issues/1000 (response)')}\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 */\nasync function consumeBody(data) {\n\tif (data[INTERNALS].disturbed) {\n\t\tthrow new TypeError(`body used already for: ${data.url}`);\n\t}\n\n\tdata[INTERNALS].disturbed = true;\n\n\tif (data[INTERNALS].error) {\n\t\tthrow data[INTERNALS].error;\n\t}\n\n\tconst {body} = data;\n\n\t// Body is null\n\tif (body === null) {\n\t\treturn Buffer.alloc(0);\n\t}\n\n\t/* c8 ignore next 3 */\n\tif (!(body instanceof Stream)) {\n\t\treturn Buffer.alloc(0);\n\t}\n\n\t// Body is stream\n\t// get ready to actually consume the body\n\tconst accum = [];\n\tlet accumBytes = 0;\n\n\ttry {\n\t\tfor await (const chunk of body) {\n\t\t\tif (data.size > 0 && accumBytes + chunk.length > data.size) {\n\t\t\t\tconst error = new FetchError(`content size at ${data.url} over limit: ${data.size}`, 'max-size');\n\t\t\t\tbody.destroy(error);\n\t\t\t\tthrow error;\n\t\t\t}\n\n\t\t\taccumBytes += chunk.length;\n\t\t\taccum.push(chunk);\n\t\t}\n\t} catch (error) {\n\t\tconst error_ = error instanceof FetchBaseError ? error : new FetchError(`Invalid response body while trying to fetch ${data.url}: ${error.message}`, 'system', error);\n\t\tthrow error_;\n\t}\n\n\tif (body.readableEnded === true || body._readableState.ended === true) {\n\t\ttry {\n\t\t\tif (accum.every(c => typeof c === 'string')) {\n\t\t\t\treturn Buffer.from(accum.join(''));\n\t\t\t}\n\n\t\t\treturn Buffer.concat(accum, accumBytes);\n\t\t} catch (error) {\n\t\t\tthrow new FetchError(`Could not create Buffer from response body for ${data.url}: ${error.message}`, 'system', error);\n\t\t}\n\t} else {\n\t\tthrow new FetchError(`Premature close of server response while trying to fetch ${data.url}`);\n\t}\n}\n\n/**\n * Clone body given Res/Req instance\n *\n * @param   Mixed   instance       Response or Request instance\n * @param   String  highWaterMark  highWaterMark for both PassThrough body streams\n * @return  Mixed\n */\nexport const clone = (instance, highWaterMark) => {\n\tlet p1;\n\tlet p2;\n\tlet {body} = instance[INTERNALS];\n\n\t// Don't allow cloning a used body\n\tif (instance.bodyUsed) {\n\t\tthrow new Error('cannot clone body after it is used');\n\t}\n\n\t// Check that body is a stream and not form-data object\n\t// note: we can't clone the form-data object without having it as a dependency\n\tif ((body instanceof Stream) && (typeof body.getBoundary !== 'function')) {\n\t\t// Tee instance body\n\t\tp1 = new PassThrough({highWaterMark});\n\t\tp2 = new PassThrough({highWaterMark});\n\t\tbody.pipe(p1);\n\t\tbody.pipe(p2);\n\t\t// Set instance body to teed body and return the other teed body\n\t\tinstance[INTERNALS].stream = p1;\n\t\tbody = p2;\n\t}\n\n\treturn body;\n};\n\nconst getNonSpecFormDataBoundary = deprecate(\n\tbody => body.getBoundary(),\n\t'form-data doesn\\'t follow the spec and requires special treatment. Use alternative package',\n\t'https://github.com/node-fetch/node-fetch/issues/1167'\n);\n\n/**\n * Performs the operation \"extract a `Content-Type` value from |object|\" as\n * specified in the specification:\n * https://fetch.spec.whatwg.org/#concept-bodyinit-extract\n *\n * This function assumes that instance.body is present.\n *\n * @param {any} body Any options.body input\n * @returns {string | null}\n */\nexport const extractContentType = (body, request) => {\n\t// Body is null or undefined\n\tif (body === null) {\n\t\treturn null;\n\t}\n\n\t// Body is string\n\tif (typeof body === 'string') {\n\t\treturn 'text/plain;charset=UTF-8';\n\t}\n\n\t// Body is a URLSearchParams\n\tif (isURLSearchParameters(body)) {\n\t\treturn 'application/x-www-form-urlencoded;charset=UTF-8';\n\t}\n\n\t// Body is blob\n\tif (isBlob(body)) {\n\t\treturn body.type || null;\n\t}\n\n\t// Body is a Buffer (Buffer, ArrayBuffer or ArrayBufferView)\n\tif (Buffer.isBuffer(body) || types.isAnyArrayBuffer(body) || ArrayBuffer.isView(body)) {\n\t\treturn null;\n\t}\n\n\tif (body instanceof FormData) {\n\t\treturn `multipart/form-data; boundary=${request[INTERNALS].boundary}`;\n\t}\n\n\t// Detect form data input from form-data module\n\tif (body && typeof body.getBoundary === 'function') {\n\t\treturn `multipart/form-data;boundary=${getNonSpecFormDataBoundary(body)}`;\n\t}\n\n\t// Body is stream - can't really do much about this\n\tif (body instanceof Stream) {\n\t\treturn null;\n\t}\n\n\t// Body constructor defaults other things to string\n\treturn 'text/plain;charset=UTF-8';\n};\n\n/**\n * The Fetch Standard treats this as if \"total bytes\" is a property on the body.\n * For us, we have to explicitly get it with a function.\n *\n * ref: https://fetch.spec.whatwg.org/#concept-body-total-bytes\n *\n * @param {any} obj.body Body object from the Body instance.\n * @returns {number | null}\n */\nexport const getTotalBytes = request => {\n\tconst {body} = request[INTERNALS];\n\n\t// Body is null or undefined\n\tif (body === null) {\n\t\treturn 0;\n\t}\n\n\t// Body is Blob\n\tif (isBlob(body)) {\n\t\treturn body.size;\n\t}\n\n\t// Body is Buffer\n\tif (Buffer.isBuffer(body)) {\n\t\treturn body.length;\n\t}\n\n\t// Detect form data input from form-data module\n\tif (body && typeof body.getLengthSync === 'function') {\n\t\treturn body.hasKnownLength && body.hasKnownLength() ? body.getLengthSync() : null;\n\t}\n\n\t// Body is stream\n\treturn null;\n};\n\n/**\n * Write a Body to a Node.js WritableStream (e.g. http.Request) object.\n *\n * @param {Stream.Writable} dest The stream to write to.\n * @param obj.body Body object from the Body instance.\n * @returns {Promise}\n */\nexport const writeToStream = async (dest, {body}) => {\n\tif (body === null) {\n\t\t// Body is null\n\t\tdest.end();\n\t} else {\n\t\t// Body is stream\n\t\tawait pipeline(body, dest);\n\t}\n};\n","export class FetchBaseError extends Error {\n\tconstructor(message, type) {\n\t\tsuper(message);\n\t\t// Hide custom error implementation details from end-users\n\t\tError.captureStackTrace(this, this.constructor);\n\n\t\tthis.type = type;\n\t}\n\n\tget name() {\n\t\treturn this.constructor.name;\n\t}\n\n\tget [Symbol.toStringTag]() {\n\t\treturn this.constructor.name;\n\t}\n}\n","\nimport {FetchBaseError} from './base.js';\n\n/**\n * @typedef {{ address?: string, code: string, dest?: string, errno: number, info?: object, message: string, path?: string, port?: number, syscall: string}} SystemError\n*/\n\n/**\n * FetchError interface for operational errors\n */\nexport class FetchError extends FetchBaseError {\n\t/**\n\t * @param  {string} message -      Error message for human\n\t * @param  {string} [type] -        Error type for machine\n\t * @param  {SystemError} [systemError] - For Node.js system error\n\t */\n\tconstructor(message, type, systemError) {\n\t\tsuper(message, type);\n\t\t// When err.type is `system`, err.erroredSysCall contains system error and err.code contains system error code\n\t\tif (systemError) {\n\t\t\t// eslint-disable-next-line no-multi-assign\n\t\t\tthis.code = this.errno = systemError.code;\n\t\t\tthis.erroredSysCall = systemError.syscall;\n\t\t}\n\t}\n}\n","/**\n * Is.js\n *\n * Object type checks.\n */\n\nconst NAME = Symbol.toStringTag;\n\n/**\n * Check if `obj` is a URLSearchParams object\n * ref: https://github.com/node-fetch/node-fetch/issues/296#issuecomment-307598143\n * @param {*} object - Object to check for\n * @return {boolean}\n */\nexport const isURLSearchParameters = object => {\n\treturn (\n\t\ttypeof object === 'object' &&\n\t\ttypeof object.append === 'function' &&\n\t\ttypeof object.delete === 'function' &&\n\t\ttypeof object.get === 'function' &&\n\t\ttypeof object.getAll === 'function' &&\n\t\ttypeof object.has === 'function' &&\n\t\ttypeof object.set === 'function' &&\n\t\ttypeof object.sort === 'function' &&\n\t\tobject[NAME] === 'URLSearchParams'\n\t);\n};\n\n/**\n * Check if `object` is a W3C `Blob` object (which `File` inherits from)\n * @param {*} object - Object to check for\n * @return {boolean}\n */\nexport const isBlob = object => {\n\treturn (\n\t\tobject &&\n\t\ttypeof object === 'object' &&\n\t\ttypeof object.arrayBuffer === 'function' &&\n\t\ttypeof object.type === 'string' &&\n\t\ttypeof object.stream === 'function' &&\n\t\ttypeof object.constructor === 'function' &&\n\t\t/^(Blob|File)$/.test(object[NAME])\n\t);\n};\n\n/**\n * Check if `obj` is an instance of AbortSignal.\n * @param {*} object - Object to check for\n * @return {boolean}\n */\nexport const isAbortSignal = object => {\n\treturn (\n\t\ttypeof object === 'object' && (\n\t\t\tobject[NAME] === 'AbortSignal' ||\n\t\t\tobject[NAME] === 'EventTarget'\n\t\t)\n\t);\n};\n\n/**\n * isDomainOrSubdomain reports whether sub is a subdomain (or exact match) of\n * the parent domain.\n *\n * Both domains must already be in canonical form.\n * @param {string|URL} original\n * @param {string|URL} destination\n */\nexport const isDomainOrSubdomain = (destination, original) => {\n\tconst orig = new URL(original).hostname;\n\tconst dest = new URL(destination).hostname;\n\n\treturn orig === dest || 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 */\nexport const isSameProtocol = (destination, original) => {\n\tconst orig = new URL(original).protocol;\n\tconst dest = new URL(destination).protocol;\n\n\treturn orig === dest;\n};\n","/**\n * Headers.js\n *\n * Headers class offers convenient helpers\n */\n\nimport {types} from 'node:util';\nimport http from 'node:http';\n\n/* c8 ignore next 9 */\nconst validateHeaderName = typeof http.validateHeaderName === 'function' ?\n\thttp.validateHeaderName :\n\tname => {\n\t\tif (!/^[\\^`\\-\\w!#$%&'*+.|~]+$/.test(name)) {\n\t\t\tconst error = new TypeError(`Header name must be a valid HTTP token [${name}]`);\n\t\t\tObject.defineProperty(error, 'code', {value: 'ERR_INVALID_HTTP_TOKEN'});\n\t\t\tthrow error;\n\t\t}\n\t};\n\n/* c8 ignore next 9 */\nconst validateHeaderValue = typeof http.validateHeaderValue === 'function' ?\n\thttp.validateHeaderValue :\n\t(name, value) => {\n\t\tif (/[^\\t\\u0020-\\u007E\\u0080-\\u00FF]/.test(value)) {\n\t\t\tconst error = new TypeError(`Invalid character in header content [\"${name}\"]`);\n\t\t\tObject.defineProperty(error, 'code', {value: 'ERR_INVALID_CHAR'});\n\t\t\tthrow error;\n\t\t}\n\t};\n\n/**\n * @typedef {Headers | Record | Iterable | Iterable>} HeadersInit\n */\n\n/**\n * This Fetch API interface allows you to perform various actions on HTTP request and response headers.\n * These actions include retrieving, setting, adding to, and removing.\n * A Headers object has an associated header list, which is initially empty and consists of zero or more name and value pairs.\n * You can add to this using methods like append() (see Examples.)\n * In all methods of this interface, header names are matched by case-insensitive byte sequence.\n *\n */\nexport default class Headers extends URLSearchParams {\n\t/**\n\t * Headers class\n\t *\n\t * @constructor\n\t * @param {HeadersInit} [init] - Response headers\n\t */\n\tconstructor(init) {\n\t\t// Validate and normalize init object in [name, value(s)][]\n\t\t/** @type {string[][]} */\n\t\tlet result = [];\n\t\tif (init instanceof Headers) {\n\t\t\tconst raw = init.raw();\n\t\t\tfor (const [name, values] of Object.entries(raw)) {\n\t\t\t\tresult.push(...values.map(value => [name, value]));\n\t\t\t}\n\t\t} else if (init == null) { // eslint-disable-line no-eq-null, eqeqeq\n\t\t\t// No op\n\t\t} else if (typeof init === 'object' && !types.isBoxedPrimitive(init)) {\n\t\t\tconst method = init[Symbol.iterator];\n\t\t\t// eslint-disable-next-line no-eq-null, eqeqeq\n\t\t\tif (method == null) {\n\t\t\t\t// Record\n\t\t\t\tresult.push(...Object.entries(init));\n\t\t\t} else {\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\tresult = [...init]\n\t\t\t\t\t.map(pair => {\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\ttypeof pair !== 'object' || types.isBoxedPrimitive(pair)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tthrow new TypeError('Each header pair must be an iterable object');\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn [...pair];\n\t\t\t\t\t}).map(pair => {\n\t\t\t\t\t\tif (pair.length !== 2) {\n\t\t\t\t\t\t\tthrow new TypeError('Each header pair must be a name/value tuple');\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn [...pair];\n\t\t\t\t\t});\n\t\t\t}\n\t\t} else {\n\t\t\tthrow new TypeError('Failed to construct \\'Headers\\': The provided value is not of type \\'(sequence> or record)');\n\t\t}\n\n\t\t// Validate and lowercase\n\t\tresult =\n\t\t\tresult.length > 0 ?\n\t\t\t\tresult.map(([name, value]) => {\n\t\t\t\t\tvalidateHeaderName(name);\n\t\t\t\t\tvalidateHeaderValue(name, String(value));\n\t\t\t\t\treturn [String(name).toLowerCase(), String(value)];\n\t\t\t\t}) :\n\t\t\t\tundefined;\n\n\t\tsuper(result);\n\n\t\t// Returning a Proxy that will lowercase key names, validate parameters and sort keys\n\t\t// eslint-disable-next-line no-constructor-return\n\t\treturn new Proxy(this, {\n\t\t\tget(target, p, receiver) {\n\t\t\t\tswitch (p) {\n\t\t\t\t\tcase 'append':\n\t\t\t\t\tcase 'set':\n\t\t\t\t\t\treturn (name, value) => {\n\t\t\t\t\t\t\tvalidateHeaderName(name);\n\t\t\t\t\t\t\tvalidateHeaderValue(name, String(value));\n\t\t\t\t\t\t\treturn URLSearchParams.prototype[p].call(\n\t\t\t\t\t\t\t\ttarget,\n\t\t\t\t\t\t\t\tString(name).toLowerCase(),\n\t\t\t\t\t\t\t\tString(value)\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t};\n\n\t\t\t\t\tcase 'delete':\n\t\t\t\t\tcase 'has':\n\t\t\t\t\tcase 'getAll':\n\t\t\t\t\t\treturn name => {\n\t\t\t\t\t\t\tvalidateHeaderName(name);\n\t\t\t\t\t\t\treturn URLSearchParams.prototype[p].call(\n\t\t\t\t\t\t\t\ttarget,\n\t\t\t\t\t\t\t\tString(name).toLowerCase()\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t};\n\n\t\t\t\t\tcase 'keys':\n\t\t\t\t\t\treturn () => {\n\t\t\t\t\t\t\ttarget.sort();\n\t\t\t\t\t\t\treturn new Set(URLSearchParams.prototype.keys.call(target)).keys();\n\t\t\t\t\t\t};\n\n\t\t\t\t\tdefault:\n\t\t\t\t\t\treturn Reflect.get(target, p, receiver);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\t/* c8 ignore next */\n\t}\n\n\tget [Symbol.toStringTag]() {\n\t\treturn this.constructor.name;\n\t}\n\n\ttoString() {\n\t\treturn Object.prototype.toString.call(this);\n\t}\n\n\tget(name) {\n\t\tconst values = this.getAll(name);\n\t\tif (values.length === 0) {\n\t\t\treturn null;\n\t\t}\n\n\t\tlet value = values.join(', ');\n\t\tif (/^content-encoding$/i.test(name)) {\n\t\t\tvalue = value.toLowerCase();\n\t\t}\n\n\t\treturn value;\n\t}\n\n\tforEach(callback, thisArg = undefined) {\n\t\tfor (const name of this.keys()) {\n\t\t\tReflect.apply(callback, thisArg, [this.get(name), name, this]);\n\t\t}\n\t}\n\n\t* values() {\n\t\tfor (const name of this.keys()) {\n\t\t\tyield this.get(name);\n\t\t}\n\t}\n\n\t/**\n\t * @type {() => IterableIterator<[string, string]>}\n\t */\n\t* entries() {\n\t\tfor (const name of this.keys()) {\n\t\t\tyield [name, this.get(name)];\n\t\t}\n\t}\n\n\t[Symbol.iterator]() {\n\t\treturn this.entries();\n\t}\n\n\t/**\n\t * Node-fetch non-spec method\n\t * returning all headers and their values as array\n\t * @returns {Record}\n\t */\n\traw() {\n\t\treturn [...this.keys()].reduce((result, key) => {\n\t\t\tresult[key] = this.getAll(key);\n\t\t\treturn result;\n\t\t}, {});\n\t}\n\n\t/**\n\t * For better console.log(headers) and also to convert Headers into Node.js Request compatible format\n\t */\n\t[Symbol.for('nodejs.util.inspect.custom')]() {\n\t\treturn [...this.keys()].reduce((result, key) => {\n\t\t\tconst values = this.getAll(key);\n\t\t\t// Http.request() only supports string as Host header.\n\t\t\t// This hack makes specifying custom Host header possible.\n\t\t\tif (key === 'host') {\n\t\t\t\tresult[key] = values[0];\n\t\t\t} else {\n\t\t\t\tresult[key] = values.length > 1 ? values : values[0];\n\t\t\t}\n\n\t\t\treturn result;\n\t\t}, {});\n\t}\n}\n\n/**\n * Re-shaping object for Web IDL tests\n * Only need to do it for overridden methods\n */\nObject.defineProperties(\n\tHeaders.prototype,\n\t['get', 'entries', 'forEach', 'values'].reduce((result, property) => {\n\t\tresult[property] = {enumerable: true};\n\t\treturn result;\n\t}, {})\n);\n\n/**\n * Create a Headers object from an http.IncomingMessage.rawHeaders, ignoring those that do\n * not conform to HTTP grammar productions.\n * @param {import('http').IncomingMessage['rawHeaders']} headers\n */\nexport function fromRawHeaders(headers = []) {\n\treturn new Headers(\n\t\theaders\n\t\t\t// Split into pairs\n\t\t\t.reduce((result, value, index, array) => {\n\t\t\t\tif (index % 2 === 0) {\n\t\t\t\t\tresult.push(array.slice(index, index + 2));\n\t\t\t\t}\n\n\t\t\t\treturn result;\n\t\t\t}, [])\n\t\t\t.filter(([name, value]) => {\n\t\t\t\ttry {\n\t\t\t\t\tvalidateHeaderName(name);\n\t\t\t\t\tvalidateHeaderValue(name, String(value));\n\t\t\t\t\treturn true;\n\t\t\t\t} catch {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t})\n\n\t);\n}\n","const redirectStatus = new Set([301, 302, 303, 307, 308]);\n\n/**\n * Redirect code matching\n *\n * @param {number} code - Status code\n * @return {boolean}\n */\nexport const isRedirect = code => {\n\treturn redirectStatus.has(code);\n};\n","/**\n * Response.js\n *\n * Response class provides content decoding\n */\n\nimport Headers from './headers.js';\nimport Body, {clone, extractContentType} from './body.js';\nimport {isRedirect} from './utils/is-redirect.js';\n\nconst INTERNALS = Symbol('Response internals');\n\n/**\n * Response class\n *\n * Ref: https://fetch.spec.whatwg.org/#response-class\n *\n * @param   Stream  body  Readable stream\n * @param   Object  opts  Response options\n * @return  Void\n */\nexport default class Response extends Body {\n\tconstructor(body = null, options = {}) {\n\t\tsuper(body, options);\n\n\t\t// eslint-disable-next-line no-eq-null, eqeqeq, no-negated-condition\n\t\tconst status = options.status != null ? options.status : 200;\n\n\t\tconst headers = new Headers(options.headers);\n\n\t\tif (body !== null && !headers.has('Content-Type')) {\n\t\t\tconst contentType = extractContentType(body, this);\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] = {\n\t\t\ttype: 'default',\n\t\t\turl: options.url,\n\t\t\tstatus,\n\t\t\tstatusText: options.statusText || '',\n\t\t\theaders,\n\t\t\tcounter: options.counter,\n\t\t\thighWaterMark: options.highWaterMark\n\t\t};\n\t}\n\n\tget type() {\n\t\treturn this[INTERNALS].type;\n\t}\n\n\tget url() {\n\t\treturn this[INTERNALS].url || '';\n\t}\n\n\tget status() {\n\t\treturn this[INTERNALS].status;\n\t}\n\n\t/**\n\t * Convenience property representing if the request ended normally\n\t */\n\tget ok() {\n\t\treturn this[INTERNALS].status >= 200 && this[INTERNALS].status < 300;\n\t}\n\n\tget redirected() {\n\t\treturn this[INTERNALS].counter > 0;\n\t}\n\n\tget statusText() {\n\t\treturn this[INTERNALS].statusText;\n\t}\n\n\tget headers() {\n\t\treturn this[INTERNALS].headers;\n\t}\n\n\tget highWaterMark() {\n\t\treturn this[INTERNALS].highWaterMark;\n\t}\n\n\t/**\n\t * Clone this response\n\t *\n\t * @return  Response\n\t */\n\tclone() {\n\t\treturn new Response(clone(this, this.highWaterMark), {\n\t\t\ttype: this.type,\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\tsize: this.size,\n\t\t\thighWaterMark: this.highWaterMark\n\t\t});\n\t}\n\n\t/**\n\t * @param {string} url    The URL that the new response is to originate from.\n\t * @param {number} status An optional status code for the response (e.g., 302.)\n\t * @returns {Response}    A Response object.\n\t */\n\tstatic redirect(url, status = 302) {\n\t\tif (!isRedirect(status)) {\n\t\t\tthrow new RangeError('Failed to execute \"redirect\" on \"response\": Invalid status code');\n\t\t}\n\n\t\treturn new Response(null, {\n\t\t\theaders: {\n\t\t\t\tlocation: new URL(url).toString()\n\t\t\t},\n\t\t\tstatus\n\t\t});\n\t}\n\n\tstatic error() {\n\t\tconst response = new Response(null, {status: 0, statusText: ''});\n\t\tresponse[INTERNALS].type = 'error';\n\t\treturn response;\n\t}\n\n\tstatic json(data = undefined, init = {}) {\n\t\tconst body = JSON.stringify(data);\n\n\t\tif (body === undefined) {\n\t\t\tthrow new TypeError('data is not JSON serializable');\n\t\t}\n\n\t\tconst headers = new Headers(init && init.headers);\n\n\t\tif (!headers.has('content-type')) {\n\t\t\theaders.set('content-type', 'application/json');\n\t\t}\n\n\t\treturn new Response(body, {\n\t\t\t...init,\n\t\t\theaders\n\t\t});\n\t}\n\n\tget [Symbol.toStringTag]() {\n\t\treturn 'Response';\n\t}\n}\n\nObject.defineProperties(Response.prototype, {\n\ttype: {enumerable: true},\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","/**\n * Request.js\n *\n * Request class contains server only options\n *\n * All spec algorithm step numbers are based on https://fetch.spec.whatwg.org/commit-snapshots/ae716822cb3a61843226cd090eefc6589446c1d2/.\n */\n\nimport {format as formatUrl} from 'node:url';\nimport {deprecate} from 'node:util';\nimport Headers from './headers.js';\nimport Body, {clone, extractContentType, getTotalBytes} from './body.js';\nimport {isAbortSignal} from './utils/is.js';\nimport {getSearch} from './utils/get-search.js';\nimport {\n\tvalidateReferrerPolicy, determineRequestsReferrer, DEFAULT_REFERRER_POLICY\n} from './utils/referrer.js';\n\nconst INTERNALS = Symbol('Request internals');\n\n/**\n * Check if `obj` is an instance of Request.\n *\n * @param  {*} object\n * @return {boolean}\n */\nconst isRequest = object => {\n\treturn (\n\t\ttypeof object === 'object' &&\n\t\ttypeof object[INTERNALS] === 'object'\n\t);\n};\n\nconst doBadDataWarn = deprecate(() => {},\n\t'.data is not a valid RequestInit property, use .body instead',\n\t'https://github.com/node-fetch/node-fetch/issues/1000 (request)');\n\n/**\n * Request class\n *\n * Ref: https://fetch.spec.whatwg.org/#request-class\n *\n * @param   Mixed   input  Url or Request instance\n * @param   Object  init   Custom options\n * @return  Void\n */\nexport default class Request extends Body {\n\tconstructor(input, init = {}) {\n\t\tlet parsedURL;\n\n\t\t// Normalize input and force URL to be encoded as UTF-8 (https://github.com/node-fetch/node-fetch/issues/245)\n\t\tif (isRequest(input)) {\n\t\t\tparsedURL = new URL(input.url);\n\t\t} else {\n\t\t\tparsedURL = new URL(input);\n\t\t\tinput = {};\n\t\t}\n\n\t\tif (parsedURL.username !== '' || parsedURL.password !== '') {\n\t\t\tthrow new TypeError(`${parsedURL} is an url with embedded credentials.`);\n\t\t}\n\n\t\tlet method = init.method || input.method || 'GET';\n\t\tif (/^(delete|get|head|options|post|put)$/i.test(method)) {\n\t\t\tmethod = method.toUpperCase();\n\t\t}\n\n\t\tif (!isRequest(init) && 'data' in init) {\n\t\t\tdoBadDataWarn();\n\t\t}\n\n\t\t// eslint-disable-next-line no-eq-null, eqeqeq\n\t\tif ((init.body != null || (isRequest(input) && input.body !== null)) &&\n\t\t\t(method === 'GET' || method === 'HEAD')) {\n\t\t\tthrow new TypeError('Request with GET/HEAD method cannot have body');\n\t\t}\n\n\t\tconst inputBody = init.body ?\n\t\t\tinit.body :\n\t\t\t(isRequest(input) && input.body !== null ?\n\t\t\t\tclone(input) :\n\t\t\t\tnull);\n\n\t\tsuper(inputBody, {\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, this);\n\t\t\tif (contentType) {\n\t\t\t\theaders.set('Content-Type', contentType);\n\t\t\t}\n\t\t}\n\n\t\tlet signal = isRequest(input) ?\n\t\t\tinput.signal :\n\t\t\tnull;\n\t\tif ('signal' in init) {\n\t\t\tsignal = init.signal;\n\t\t}\n\n\t\t// eslint-disable-next-line no-eq-null, eqeqeq\n\t\tif (signal != null && !isAbortSignal(signal)) {\n\t\t\tthrow new TypeError('Expected signal to be an instanceof AbortSignal or EventTarget');\n\t\t}\n\n\t\t// §5.4, Request constructor steps, step 15.1\n\t\t// eslint-disable-next-line no-eq-null, eqeqeq\n\t\tlet referrer = init.referrer == null ? input.referrer : init.referrer;\n\t\tif (referrer === '') {\n\t\t\t// §5.4, Request constructor steps, step 15.2\n\t\t\treferrer = 'no-referrer';\n\t\t} else if (referrer) {\n\t\t\t// §5.4, Request constructor steps, step 15.3.1, 15.3.2\n\t\t\tconst parsedReferrer = new URL(referrer);\n\t\t\t// §5.4, Request constructor steps, step 15.3.3, 15.3.4\n\t\t\treferrer = /^about:(\\/\\/)?client$/.test(parsedReferrer) ? 'client' : parsedReferrer;\n\t\t} else {\n\t\t\treferrer = undefined;\n\t\t}\n\n\t\tthis[INTERNALS] = {\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\treferrer\n\t\t};\n\n\t\t// Node-fetch-only options\n\t\tthis.follow = init.follow === undefined ? (input.follow === undefined ? 20 : input.follow) : init.follow;\n\t\tthis.compress = init.compress === undefined ? (input.compress === undefined ? true : input.compress) : init.compress;\n\t\tthis.counter = init.counter || input.counter || 0;\n\t\tthis.agent = init.agent || input.agent;\n\t\tthis.highWaterMark = init.highWaterMark || input.highWaterMark || 16384;\n\t\tthis.insecureHTTPParser = init.insecureHTTPParser || input.insecureHTTPParser || false;\n\n\t\t// §5.4, Request constructor steps, step 16.\n\t\t// Default is empty string per https://fetch.spec.whatwg.org/#concept-request-referrer-policy\n\t\tthis.referrerPolicy = init.referrerPolicy || input.referrerPolicy || '';\n\t}\n\n\t/** @returns {string} */\n\tget method() {\n\t\treturn this[INTERNALS].method;\n\t}\n\n\t/** @returns {string} */\n\tget url() {\n\t\treturn formatUrl(this[INTERNALS].parsedURL);\n\t}\n\n\t/** @returns {Headers} */\n\tget headers() {\n\t\treturn this[INTERNALS].headers;\n\t}\n\n\tget redirect() {\n\t\treturn this[INTERNALS].redirect;\n\t}\n\n\t/** @returns {AbortSignal} */\n\tget signal() {\n\t\treturn this[INTERNALS].signal;\n\t}\n\n\t// https://fetch.spec.whatwg.org/#dom-request-referrer\n\tget referrer() {\n\t\tif (this[INTERNALS].referrer === 'no-referrer') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (this[INTERNALS].referrer === 'client') {\n\t\t\treturn 'about:client';\n\t\t}\n\n\t\tif (this[INTERNALS].referrer) {\n\t\t\treturn this[INTERNALS].referrer.toString();\n\t\t}\n\n\t\treturn undefined;\n\t}\n\n\tget referrerPolicy() {\n\t\treturn this[INTERNALS].referrerPolicy;\n\t}\n\n\tset referrerPolicy(referrerPolicy) {\n\t\tthis[INTERNALS].referrerPolicy = validateReferrerPolicy(referrerPolicy);\n\t}\n\n\t/**\n\t * Clone this request\n\t *\n\t * @return  Request\n\t */\n\tclone() {\n\t\treturn new Request(this);\n\t}\n\n\tget [Symbol.toStringTag]() {\n\t\treturn 'Request';\n\t}\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\treferrer: {enumerable: true},\n\treferrerPolicy: {enumerable: true}\n});\n\n/**\n * Convert a Request to Node.js http request options.\n *\n * @param {Request} request - A Request instance\n * @return The options object to be passed to http.request\n */\nexport const getNodeRequestOptions = request => {\n\tconst {parsedURL} = request[INTERNALS];\n\tconst headers = new Headers(request[INTERNALS].headers);\n\n\t// Fetch step 1.3\n\tif (!headers.has('Accept')) {\n\t\theaders.set('Accept', '*/*');\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\n\tif (request.body !== null) {\n\t\tconst totalBytes = getTotalBytes(request);\n\t\t// Set Content-Length if totalBytes is a number (that is not NaN)\n\t\tif (typeof totalBytes === 'number' && !Number.isNaN(totalBytes)) {\n\t\t\tcontentLengthValue = String(totalBytes);\n\t\t}\n\t}\n\n\tif (contentLengthValue) {\n\t\theaders.set('Content-Length', contentLengthValue);\n\t}\n\n\t// 4.1. Main fetch, step 2.6\n\t// > If request's referrer policy is the empty string, then set request's referrer policy to the\n\t// > default referrer policy.\n\tif (request.referrerPolicy === '') {\n\t\trequest.referrerPolicy = DEFAULT_REFERRER_POLICY;\n\t}\n\n\t// 4.1. Main fetch, step 2.7\n\t// > If request's referrer is not \"no-referrer\", set request's referrer to the result of invoking\n\t// > determine request's referrer.\n\tif (request.referrer && request.referrer !== 'no-referrer') {\n\t\trequest[INTERNALS].referrer = determineRequestsReferrer(request);\n\t} else {\n\t\trequest[INTERNALS].referrer = 'no-referrer';\n\t}\n\n\t// 4.5. HTTP-network-or-cache fetch, step 6.9\n\t// > If httpRequest's referrer is a URL, then append `Referer`/httpRequest's referrer, serialized\n\t// >  and isomorphic encoded, to httpRequest's header list.\n\tif (request[INTERNALS].referrer instanceof URL) {\n\t\theaders.set('Referer', request.referrer);\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');\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, br');\n\t}\n\n\tlet {agent} = request;\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\tconst search = getSearch(parsedURL);\n\n\t// Pass the full URL directly to request(), but overwrite the following\n\t// options:\n\tconst options = {\n\t\t// Overwrite search to retain trailing ? (issue #776)\n\t\tpath: parsedURL.pathname + search,\n\t\t// The following options are not expressed in the URL\n\t\tmethod: request.method,\n\t\theaders: headers[Symbol.for('nodejs.util.inspect.custom')](),\n\t\tinsecureHTTPParser: request.insecureHTTPParser,\n\t\tagent\n\t};\n\n\treturn {\n\t\t/** @type {URL} */\n\t\tparsedURL,\n\t\toptions\n\t};\n};\n","export const getSearch = parsedURL => {\n\tif (parsedURL.search) {\n\t\treturn parsedURL.search;\n\t}\n\n\tconst lastOffset = parsedURL.href.length - 1;\n\tconst hash = parsedURL.hash || (parsedURL.href[lastOffset] === '#' ? '#' : '');\n\treturn parsedURL.href[lastOffset - hash.length] === '?' ? '?' : '';\n};\n","import {isIP} from 'node:net';\n\n/**\n * @external URL\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/URL|URL}\n */\n\n/**\n * @module utils/referrer\n * @private\n */\n\n/**\n * @see {@link https://w3c.github.io/webappsec-referrer-policy/#strip-url|Referrer Policy §8.4. Strip url for use as a referrer}\n * @param {string} URL\n * @param {boolean} [originOnly=false]\n */\nexport function stripURLForUseAsAReferrer(url, originOnly = false) {\n\t// 1. If url is null, return no referrer.\n\tif (url == null) { // eslint-disable-line no-eq-null, eqeqeq\n\t\treturn 'no-referrer';\n\t}\n\n\turl = new URL(url);\n\n\t// 2. If url's scheme is a local scheme, then return no referrer.\n\tif (/^(about|blob|data):$/.test(url.protocol)) {\n\t\treturn 'no-referrer';\n\t}\n\n\t// 3. Set url's username to the empty string.\n\turl.username = '';\n\n\t// 4. Set url's password to null.\n\t// Note: `null` appears to be a mistake as this actually results in the password being `\"null\"`.\n\turl.password = '';\n\n\t// 5. Set url's fragment to null.\n\t// Note: `null` appears to be a mistake as this actually results in the fragment being `\"#null\"`.\n\turl.hash = '';\n\n\t// 6. If the origin-only flag is true, then:\n\tif (originOnly) {\n\t\t// 6.1. Set url's path to null.\n\t\t// Note: `null` appears to be a mistake as this actually results in the path being `\"/null\"`.\n\t\turl.pathname = '';\n\n\t\t// 6.2. Set url's query to null.\n\t\t// Note: `null` appears to be a mistake as this actually results in the query being `\"?null\"`.\n\t\turl.search = '';\n\t}\n\n\t// 7. Return url.\n\treturn url;\n}\n\n/**\n * @see {@link https://w3c.github.io/webappsec-referrer-policy/#enumdef-referrerpolicy|enum ReferrerPolicy}\n */\nexport const ReferrerPolicy = new Set([\n\t'',\n\t'no-referrer',\n\t'no-referrer-when-downgrade',\n\t'same-origin',\n\t'origin',\n\t'strict-origin',\n\t'origin-when-cross-origin',\n\t'strict-origin-when-cross-origin',\n\t'unsafe-url'\n]);\n\n/**\n * @see {@link https://w3c.github.io/webappsec-referrer-policy/#default-referrer-policy|default referrer policy}\n */\nexport const DEFAULT_REFERRER_POLICY = 'strict-origin-when-cross-origin';\n\n/**\n * @see {@link https://w3c.github.io/webappsec-referrer-policy/#referrer-policies|Referrer Policy §3. Referrer Policies}\n * @param {string} referrerPolicy\n * @returns {string} referrerPolicy\n */\nexport function validateReferrerPolicy(referrerPolicy) {\n\tif (!ReferrerPolicy.has(referrerPolicy)) {\n\t\tthrow new TypeError(`Invalid referrerPolicy: ${referrerPolicy}`);\n\t}\n\n\treturn referrerPolicy;\n}\n\n/**\n * @see {@link https://w3c.github.io/webappsec-secure-contexts/#is-origin-trustworthy|Referrer Policy §3.2. Is origin potentially trustworthy?}\n * @param {external:URL} url\n * @returns `true`: \"Potentially Trustworthy\", `false`: \"Not Trustworthy\"\n */\nexport function isOriginPotentiallyTrustworthy(url) {\n\t// 1. If origin is an opaque origin, return \"Not Trustworthy\".\n\t// Not applicable\n\n\t// 2. Assert: origin is a tuple origin.\n\t// Not for implementations\n\n\t// 3. If origin's scheme is either \"https\" or \"wss\", return \"Potentially Trustworthy\".\n\tif (/^(http|ws)s:$/.test(url.protocol)) {\n\t\treturn true;\n\t}\n\n\t// 4. If origin's host component matches one of the CIDR notations 127.0.0.0/8 or ::1/128 [RFC4632], return \"Potentially Trustworthy\".\n\tconst hostIp = url.host.replace(/(^\\[)|(]$)/g, '');\n\tconst hostIPVersion = isIP(hostIp);\n\n\tif (hostIPVersion === 4 && /^127\\./.test(hostIp)) {\n\t\treturn true;\n\t}\n\n\tif (hostIPVersion === 6 && /^(((0+:){7})|(::(0+:){0,6}))0*1$/.test(hostIp)) {\n\t\treturn true;\n\t}\n\n\t// 5. If origin's host component is \"localhost\" or falls within \".localhost\", and the user agent conforms to the name resolution rules in [let-localhost-be-localhost], return \"Potentially Trustworthy\".\n\t// We are returning FALSE here because we cannot ensure conformance to\n\t// let-localhost-be-loalhost (https://tools.ietf.org/html/draft-west-let-localhost-be-localhost)\n\tif (url.host === 'localhost' || url.host.endsWith('.localhost')) {\n\t\treturn false;\n\t}\n\n\t// 6. If origin's scheme component is file, return \"Potentially Trustworthy\".\n\tif (url.protocol === 'file:') {\n\t\treturn true;\n\t}\n\n\t// 7. If origin's scheme component is one which the user agent considers to be authenticated, return \"Potentially Trustworthy\".\n\t// Not supported\n\n\t// 8. If origin has been configured as a trustworthy origin, return \"Potentially Trustworthy\".\n\t// Not supported\n\n\t// 9. Return \"Not Trustworthy\".\n\treturn false;\n}\n\n/**\n * @see {@link https://w3c.github.io/webappsec-secure-contexts/#is-url-trustworthy|Referrer Policy §3.3. Is url potentially trustworthy?}\n * @param {external:URL} url\n * @returns `true`: \"Potentially Trustworthy\", `false`: \"Not Trustworthy\"\n */\nexport function isUrlPotentiallyTrustworthy(url) {\n\t// 1. If url is \"about:blank\" or \"about:srcdoc\", return \"Potentially Trustworthy\".\n\tif (/^about:(blank|srcdoc)$/.test(url)) {\n\t\treturn true;\n\t}\n\n\t// 2. If url's scheme is \"data\", return \"Potentially Trustworthy\".\n\tif (url.protocol === 'data:') {\n\t\treturn true;\n\t}\n\n\t// Note: The origin of blob: and filesystem: URLs is the origin of the context in which they were\n\t// created. Therefore, blobs created in a trustworthy origin will themselves be potentially\n\t// trustworthy.\n\tif (/^(blob|filesystem):$/.test(url.protocol)) {\n\t\treturn true;\n\t}\n\n\t// 3. Return the result of executing §3.2 Is origin potentially trustworthy? on url's origin.\n\treturn isOriginPotentiallyTrustworthy(url);\n}\n\n/**\n * Modifies the referrerURL to enforce any extra security policy considerations.\n * @see {@link https://w3c.github.io/webappsec-referrer-policy/#determine-requests-referrer|Referrer Policy §8.3. Determine request's Referrer}, step 7\n * @callback module:utils/referrer~referrerURLCallback\n * @param {external:URL} referrerURL\n * @returns {external:URL} modified referrerURL\n */\n\n/**\n * Modifies the referrerOrigin to enforce any extra security policy considerations.\n * @see {@link https://w3c.github.io/webappsec-referrer-policy/#determine-requests-referrer|Referrer Policy §8.3. Determine request's Referrer}, step 7\n * @callback module:utils/referrer~referrerOriginCallback\n * @param {external:URL} referrerOrigin\n * @returns {external:URL} modified referrerOrigin\n */\n\n/**\n * @see {@link https://w3c.github.io/webappsec-referrer-policy/#determine-requests-referrer|Referrer Policy §8.3. Determine request's Referrer}\n * @param {Request} request\n * @param {object} o\n * @param {module:utils/referrer~referrerURLCallback} o.referrerURLCallback\n * @param {module:utils/referrer~referrerOriginCallback} o.referrerOriginCallback\n * @returns {external:URL} Request's referrer\n */\nexport function determineRequestsReferrer(request, {referrerURLCallback, referrerOriginCallback} = {}) {\n\t// There are 2 notes in the specification about invalid pre-conditions.  We return null, here, for\n\t// these cases:\n\t// > Note: If request's referrer is \"no-referrer\", Fetch will not call into this algorithm.\n\t// > Note: If request's referrer policy is the empty string, Fetch will not call into this\n\t// > algorithm.\n\tif (request.referrer === 'no-referrer' || request.referrerPolicy === '') {\n\t\treturn null;\n\t}\n\n\t// 1. Let policy be request's associated referrer policy.\n\tconst policy = request.referrerPolicy;\n\n\t// 2. Let environment be request's client.\n\t// not applicable to node.js\n\n\t// 3. Switch on request's referrer:\n\tif (request.referrer === 'about:client') {\n\t\treturn 'no-referrer';\n\t}\n\n\t// \"a URL\": Let referrerSource be request's referrer.\n\tconst referrerSource = request.referrer;\n\n\t// 4. Let request's referrerURL be the result of stripping referrerSource for use as a referrer.\n\tlet referrerURL = stripURLForUseAsAReferrer(referrerSource);\n\n\t// 5. Let referrerOrigin be the result of stripping referrerSource for use as a referrer, with the\n\t//    origin-only flag set to true.\n\tlet referrerOrigin = stripURLForUseAsAReferrer(referrerSource, true);\n\n\t// 6. If the result of serializing referrerURL is a string whose length is greater than 4096, set\n\t//    referrerURL to referrerOrigin.\n\tif (referrerURL.toString().length > 4096) {\n\t\treferrerURL = referrerOrigin;\n\t}\n\n\t// 7. The user agent MAY alter referrerURL or referrerOrigin at this point to enforce arbitrary\n\t//    policy considerations in the interests of minimizing data leakage. For example, the user\n\t//    agent could strip the URL down to an origin, modify its host, replace it with an empty\n\t//    string, etc.\n\tif (referrerURLCallback) {\n\t\treferrerURL = referrerURLCallback(referrerURL);\n\t}\n\n\tif (referrerOriginCallback) {\n\t\treferrerOrigin = referrerOriginCallback(referrerOrigin);\n\t}\n\n\t// 8.Execute the statements corresponding to the value of policy:\n\tconst currentURL = new URL(request.url);\n\n\tswitch (policy) {\n\t\tcase 'no-referrer':\n\t\t\treturn 'no-referrer';\n\n\t\tcase 'origin':\n\t\t\treturn referrerOrigin;\n\n\t\tcase 'unsafe-url':\n\t\t\treturn referrerURL;\n\n\t\tcase 'strict-origin':\n\t\t\t// 1. If referrerURL is a potentially trustworthy URL and request's current URL is not a\n\t\t\t//    potentially trustworthy URL, then return no referrer.\n\t\t\tif (isUrlPotentiallyTrustworthy(referrerURL) && !isUrlPotentiallyTrustworthy(currentURL)) {\n\t\t\t\treturn 'no-referrer';\n\t\t\t}\n\n\t\t\t// 2. Return referrerOrigin.\n\t\t\treturn referrerOrigin.toString();\n\n\t\tcase 'strict-origin-when-cross-origin':\n\t\t\t// 1. If the origin of referrerURL and the origin of request's current URL are the same, then\n\t\t\t//    return referrerURL.\n\t\t\tif (referrerURL.origin === currentURL.origin) {\n\t\t\t\treturn referrerURL;\n\t\t\t}\n\n\t\t\t// 2. If referrerURL is a potentially trustworthy URL and request's current URL is not a\n\t\t\t//    potentially trustworthy URL, then return no referrer.\n\t\t\tif (isUrlPotentiallyTrustworthy(referrerURL) && !isUrlPotentiallyTrustworthy(currentURL)) {\n\t\t\t\treturn 'no-referrer';\n\t\t\t}\n\n\t\t\t// 3. Return referrerOrigin.\n\t\t\treturn referrerOrigin;\n\n\t\tcase 'same-origin':\n\t\t\t// 1. If the origin of referrerURL and the origin of request's current URL are the same, then\n\t\t\t//    return referrerURL.\n\t\t\tif (referrerURL.origin === currentURL.origin) {\n\t\t\t\treturn referrerURL;\n\t\t\t}\n\n\t\t\t// 2. Return no referrer.\n\t\t\treturn 'no-referrer';\n\n\t\tcase 'origin-when-cross-origin':\n\t\t\t// 1. If the origin of referrerURL and the origin of request's current URL are the same, then\n\t\t\t//    return referrerURL.\n\t\t\tif (referrerURL.origin === currentURL.origin) {\n\t\t\t\treturn referrerURL;\n\t\t\t}\n\n\t\t\t// Return referrerOrigin.\n\t\t\treturn referrerOrigin;\n\n\t\tcase 'no-referrer-when-downgrade':\n\t\t\t// 1. If referrerURL is a potentially trustworthy URL and request's current URL is not a\n\t\t\t//    potentially trustworthy URL, then return no referrer.\n\t\t\tif (isUrlPotentiallyTrustworthy(referrerURL) && !isUrlPotentiallyTrustworthy(currentURL)) {\n\t\t\t\treturn 'no-referrer';\n\t\t\t}\n\n\t\t\t// 2. Return referrerURL.\n\t\t\treturn referrerURL;\n\n\t\tdefault:\n\t\t\tthrow new TypeError(`Invalid referrerPolicy: ${policy}`);\n\t}\n}\n\n/**\n * @see {@link https://w3c.github.io/webappsec-referrer-policy/#parse-referrer-policy-from-header|Referrer Policy §8.1. Parse a referrer policy from a Referrer-Policy header}\n * @param {Headers} headers Response headers\n * @returns {string} policy\n */\nexport function parseReferrerPolicyFromHeader(headers) {\n\t// 1. Let policy-tokens be the result of extracting header list values given `Referrer-Policy`\n\t//    and response’s header list.\n\tconst policyTokens = (headers.get('referrer-policy') || '').split(/[,\\s]+/);\n\n\t// 2. Let policy be the empty string.\n\tlet policy = '';\n\n\t// 3. For each token in policy-tokens, if token is a referrer policy and token is not the empty\n\t//    string, then set policy to token.\n\t// Note: This algorithm loops over multiple policy values to allow deployment of new policy\n\t// values with fallbacks for older user agents, as described in § 11.1 Unknown Policy Values.\n\tfor (const token of policyTokens) {\n\t\tif (token && ReferrerPolicy.has(token)) {\n\t\t\tpolicy = token;\n\t\t}\n\t}\n\n\t// 4. Return policy.\n\treturn policy;\n}\n","import {FetchBaseError} from './base.js';\n\n/**\n * AbortError interface for cancelled requests\n */\nexport class AbortError extends FetchBaseError {\n\tconstructor(message, type = 'aborted') {\n\t\tsuper(message, type);\n\t}\n}\n","import { Octokit } from '@octokit/core'\nimport { paginateGraphql } from '@octokit/plugin-paginate-graphql'\nimport fetch from 'node-fetch'\n\nexport const getOctokit = ({ ghToken }: { ghToken: string }) => {\n  const OctokitWithPlugins = Octokit.plugin(paginateGraphql)\n  return new OctokitWithPlugins({ auth: ghToken, request: { fetch } })\n}\n","import { getInput, getMultilineInput } from '@actions/core'\n\nfunction isValidDismissActionInput(\n  dismissAction: string,\n): dismissAction is 'dismissAction' | 'dismiss-none' {\n  return dismissAction === 'dismiss-all' || dismissAction === 'dismiss-none'\n}\n\nexport const getInputs = () => {\n  const ghToken = getInput('token', { required: true })\n  const ignoreFiles = getMultilineInput('ignore-files')\n  const noOwnerAction = getInput('no-owner-action', { required: true })\n  const forcePushAction = getInput('force-push-action', { required: true })\n\n  if (!isValidDismissActionInput(noOwnerAction)) {\n    throw new Error(\n      `The no-owner-action input accepts only \"dismiss-all\" or \"dismiss-none\" enum. Got \"${noOwnerAction}\"`,\n    )\n  }\n\n  if (!isValidDismissActionInput(forcePushAction)) {\n    throw new Error(\n      `The force-push-action input accepts only \"dismiss-all\" or \"dismiss-none\" enum. Got \"${forcePushAction}\"`,\n    )\n  }\n\n  return {\n    ghToken,\n    ignoreFiles,\n    noOwnerAction,\n    forcePushAction,\n  }\n}\n"],"mappings":"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,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,aAAY,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI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,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,YAAY,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,YAAY,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,YAAY,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,aAAY,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAK,GAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,GAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAS,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAG,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,KAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI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AS,CAAC,IAAG,MAAK,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAG,MAAK,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAG,MAAK,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAG,MAAK,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAG,MAAK,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAG,MAAK,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAG,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,KAAI,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,KAAI,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,KAAI,KAAI,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,KAAI,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,KAAI,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,KAAI,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,KAAI,KAAI,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,KAAI,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAG,MAAK,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,uBAAuB,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,uBAAuB,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,GAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,IAAG,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,IAAG,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,IAAG,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,IAAG,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,IAAG,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,IAAG,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,IAAG,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,IAAG,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,IAAG,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,IAAG,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,IAAG,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,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,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,MAAK,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,MAAK,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,MAAK,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,MAAK,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,MAAK,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,MAAK,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,MAAK,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,MAAK,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,MAAK,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,MAAK,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,MAAK,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,MAAK,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,MAAK,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,MAAK,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,MAAM,IAAK,GAAE,UAAS,CAAC,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,OAAM,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,IAAG,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,IAAG,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,IAAG,IAAG,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,KAAI,EAAE,CAAC,GAAE,CAAC,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OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,IAAG,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,MAAM,IAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,MAAM,IAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,O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AAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAS,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,MAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,OAAO,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,OAAO,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,OAAO,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,C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AAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAO,IAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,OAAO,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,OAAO,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,OAAO,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,OAAO,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,OAAO,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,OAAO,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,OAAO,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,OAAO,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,0BAAyB,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,0BAAyB,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,0BAAyB,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,0BAAyB,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,0BAAyB,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,0BAAyB,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,0BAAyB,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,0BAAyB,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,0BAAyB,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,0BAAyB,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,0BAAyB,CAAC,IAAG,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,0BAAyB,CAAC,IAAG,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,0BAAyB,CAAC,IAAG,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,OAAM,KAAI,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAG,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAI,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,OAAO,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,OAAO,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,OAAO,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,OAAO,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAO,KAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC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SAAS,GAAG;EAC/C,OACS;AACD,WAAO;EACf;AACA;ACAO,SAAS,aAAa,SAAS;AAClC,SAAO;IACH,UAAU,OAAO,OAAO,SAAS,KAAK,MAAM,OAAO,GAAG;MAClD,UAAU,SAAS,KAAK,MAAM,OAAO;IACjD,CAAS;EACT;AACA;APfO,IAAMC,UIEA,qBCFA;ALAN,IAAAC,kBAAA;;;IAAMD,WAAU;AIEX,IAAC,sBAAsB,OAAO,OAAO,UAAU;MACvD;IACJ,CAAC;ACJW,IAAC,sBAAsB;MAC/B;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MAC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","names":["path","_a","_a","x","http","https","self","options","i","debug","onError","socket","require_tunnel","module","http","https","HttpCodes","Headers","MediaTypes","userAgent","lowercaseKeys","module","name","method","module","hook","module","module","hook","defaults","context","value","DEFAULTS","endpoint","require_lib","module","x","i","S","require_utils","module","i","module","module","normalize","s","i","e","module","i","path","res","e","module","URL","i","Stream","iterator","URL","proto","request","https","http","abort","abortAndFinalize","s","zlib","_Blob","i","e","Url","whatwgUrl","isDomainOrSubdomain","isSameProtocol","init_dist_web","module","i","cb","module","once","f","once","fetch","getBuffer","withDefaults","endpoint","request","route","parameters","VERSION","e","request","withDefaults","Request","VERSION","graphql","request","endpoint","init_dist_web","createTokenAuth","VERSION","hook","auth","defaults","_a","dist_web_exports","endpoint","defaults","options","ENDPOINTS","VERSION","init_dist_web","dist_web_exports","iterator","VERSION","init_dist_web","auth","getOctokit","os","first","s","crypto","i","i","parse","i","version","URL","crypto","import_crypto","i","crypto","import_crypto","fs","os","_a","_a","path","os","path","ExitCode","getInput","getMultilineInput","x","debug","module","s","m","h","parse","match","module","env","i","debug","self","match","module","match","r","module","module","os","tty","hasFlag","env","translateLevel","supportsColor","version","module","tty","supportsColor","useColors","debug","i","module","path","stat","e","exists","__export","deferred","module","fs","module","module","run","module","module","path","module","path","find","module","i","IgnoreBase","filter","path","match","cache","r","make_posix","module","fs","stat","fs","normalize","cache","m","stat","err","base","module","fs","version","cache","module","i","x","module","r","m","i","module","m","expand","i","x","module","minimatch","Minimatch","path","e","GLOBSTAR","expand","qmark","star","twoStarDot","twoStarNoDot","reSpecials","s","set","filter","i","ext","t","m","defaults","makeRe","braceExpand","assertValidPattern","debug","MAX_PATTERN_LENGTH","parse","self","addPatternStart","regExpEscape","f","match","module","module","e","module","path","require_common","fs","path","minimatch","Minimatch","self","i","m","e","f","module","minimatch","Minimatch","path","i","self","set","e","m","stat","f","exists","module","once","i","module","minimatch","Minimatch","path","once","i","set","self","f","e","m","exists","stat","er","module","path","module","fs","path","Codeowners","require_brace_expansion","module","m","expand","i","x","noop","x","F","i","Symbol","context","isObject","e","iterator","_a","r","request","isAbortSignal","streamBrandCheckException","defaultControllerBrandCheckException","DOMException","ReadableStream","POOL_SIZE","process","Blob","clone","Blob","size","File","F","f","e","FormData","m","module","fs","DOMException","m","match","Body","parser","f","i","clear","process","os","version","tty","styles","chalk","self","import_core","import_core","import_promise_deferred","path","__esm","i","filter","omit","match","parse","__export","debug","debug2","e","merge","version_default","init_version","__commonJS","module","__toCommonJS","context","s","i","r","unescape","s","s","i","acc","ext","start","final","unescape","s","ext","f","qmark","star","m","s","expand","regExpEscape","set","i","unescape","chalk","Codeowners","e","getPullRequestQuery","import_before_after_hook","VERSION","userAgent","VERSION","DEFAULTS","lowercaseKeys","mergeDeep","defaults","removeUndefinedProperties","merge","defaults","lowercaseKeys","removeUndefinedProperties","mergeDeep","addQueryParameters","urlVariableRegex","removeNonChars","extractUrlVariableNames","omit","encodeReserved","encodeUnreserved","encodeValue","isDefined","isKeyOperator","getValues","context","parseUrl","expand","parse","omit","extractUrlVariableNames","parseUrl","addQueryParameters","endpointWithDefaults","defaults","parse","merge","withDefaults","DEFAULTS","merge","endpoint","endpointWithDefaults","parse","endpoint","withDefaults","DEFAULTS","VERSION","init_dist_web","import_once","logOnceCode","once","logOnceHeaders","RequestError","getBufferResponse","fetchWrapper","fetch","RequestError","getResponseData","toErrorMessage","getBufferResponse","withDefaults","endpoint","fetchWrapper","request","request","withDefaults","endpoint","VERSION","VERSION","_buildMessageForResponseErrors","e","GraphqlResponseError","request2","NON_VARIABLE_OPTIONS","FORBIDDEN_VARIABLE_OPTIONS","GHES_V3_SUFFIX_REGEX","graphql","withDefaults","graphql2","request","withCustomRequest","REGEX_IS_INSTALLATION_LEGACY","REGEX_IS_INSTALLATION","REGEX_IS_USER_TO_SERVER","auth","withAuthorizationPrefix","hook","request","endpoint","withAuthorizationPrefix","createTokenAuth","createTokenAuth2","auth","hook","VERSION","Octokit","defaults","hook","request","withCustomRequest","auth","createTokenAuth","path","isObject","path","path","iterator","import_node_http","import_node_stream","import_node_buffer","i","FetchError","isBlob","isAbortSignal","isDomainOrSubdomain","isSameProtocol","Stream","INTERNALS","Body","isBlob","FetchError","consumeBody","toFormData","clone","extractContentType","request","getTotalBytes","writeToStream","import_node_util","http","Headers","INTERNALS","Response","Body","Headers","extractContentType","clone","import_node_util","request","INTERNALS","isRequest","Request","Body","clone","Headers","extractContentType","isAbortSignal","formatUrl","getNodeRequestOptions","request","getTotalBytes","AbortError","fetch","request","Request","getNodeRequestOptions","response","Response","https","http","AbortError","Stream","FetchError","fixResponseChunkedTransferBadEnding","s","Headers","clone","isDomainOrSubdomain","isSameProtocol","pump","zlib","writeToStream","Octokit","fetch","import_core","chalk","e"]}
\ No newline at end of file
+{"version":3,"sources":["../node_modules/.pnpm/@actions+github@5.1.1/node_modules/@actions/github/src/context.ts","../node_modules/.pnpm/@actions+http-client@2.1.1/node_modules/@actions/http-client/src/proxy.ts","../node_modules/.pnpm/tunnel@0.0.6/node_modules/tunnel/lib/tunnel.js","../node_modules/.pnpm/tunnel@0.0.6/node_modules/tunnel/index.js","../node_modules/.pnpm/@actions+http-client@2.1.1/node_modules/@actions/http-client/src/index.ts","../node_modules/.pnpm/@actions+github@5.1.1/node_modules/@actions/github/src/internal/utils.ts","../node_modules/.pnpm/universal-user-agent@6.0.0/node_modules/universal-user-agent/dist-src/index.js","../node_modules/.pnpm/before-after-hook@2.2.3/node_modules/before-after-hook/lib/register.js","../node_modules/.pnpm/before-after-hook@2.2.3/node_modules/before-after-hook/lib/add.js","../node_modules/.pnpm/before-after-hook@2.2.3/node_modules/before-after-hook/lib/remove.js","../node_modules/.pnpm/before-after-hook@2.2.3/node_modules/before-after-hook/index.js","../node_modules/.pnpm/is-plain-object@5.0.0/node_modules/is-plain-object/dist/is-plain-object.mjs","../node_modules/.pnpm/@octokit+endpoint@6.0.12/node_modules/@octokit/endpoint/dist-src/util/lowercase-keys.js","../node_modules/.pnpm/@octokit+endpoint@6.0.12/node_modules/@octokit/endpoint/dist-src/util/merge-deep.js","../node_modules/.pnpm/@octokit+endpoint@6.0.12/node_modules/@octokit/endpoint/dist-src/util/remove-undefined-properties.js","../node_modules/.pnpm/@octokit+endpoint@6.0.12/node_modules/@octokit/endpoint/dist-src/merge.js","../node_modules/.pnpm/@octokit+endpoint@6.0.12/node_modules/@octokit/endpoint/dist-src/util/add-query-parameters.js","../node_modules/.pnpm/@octokit+endpoint@6.0.12/node_modules/@octokit/endpoint/dist-src/util/extract-url-variable-names.js","../node_modules/.pnpm/@octokit+endpoint@6.0.12/node_modules/@octokit/endpoint/dist-src/util/omit.js","../node_modules/.pnpm/@octokit+endpoint@6.0.12/node_modules/@octokit/endpoint/dist-src/util/url-template.js","../node_modules/.pnpm/@octokit+endpoint@6.0.12/node_modules/@octokit/endpoint/dist-src/parse.js","../node_modules/.pnpm/@octokit+endpoint@6.0.12/node_modules/@octokit/endpoint/dist-src/endpoint-with-defaults.js","../node_modules/.pnpm/@octokit+endpoint@6.0.12/node_modules/@octokit/endpoint/dist-src/with-defaults.js","../node_modules/.pnpm/@octokit+endpoint@6.0.12/node_modules/@octokit/endpoint/dist-src/version.js","../node_modules/.pnpm/@octokit+endpoint@6.0.12/node_modules/@octokit/endpoint/dist-src/defaults.js","../node_modules/.pnpm/@octokit+endpoint@6.0.12/node_modules/@octokit/endpoint/dist-src/index.js","../node_modules/.pnpm/webidl-conversions@3.0.1/node_modules/webidl-conversions/lib/index.js","../node_modules/.pnpm/whatwg-url@5.0.0/node_modules/whatwg-url/lib/utils.js","../node_modules/.pnpm/tr46@0.0.3/node_modules/tr46/lib/mappingTable.json","../node_modules/.pnpm/tr46@0.0.3/node_modules/tr46/index.js","../node_modules/.pnpm/whatwg-url@5.0.0/node_modules/whatwg-url/lib/url-state-machine.js","../node_modules/.pnpm/whatwg-url@5.0.0/node_modules/whatwg-url/lib/URL-impl.js","../node_modules/.pnpm/whatwg-url@5.0.0/node_modules/whatwg-url/lib/URL.js","../node_modules/.pnpm/whatwg-url@5.0.0/node_modules/whatwg-url/lib/public-api.js","../node_modules/.pnpm/node-fetch@2.6.13/node_modules/node-fetch/lib/index.mjs","../node_modules/.pnpm/deprecation@2.3.1/node_modules/deprecation/dist-web/index.js","../node_modules/.pnpm/wrappy@1.0.2/node_modules/wrappy/wrappy.js","../node_modules/.pnpm/once@1.4.0/node_modules/once/once.js","../node_modules/.pnpm/@octokit+request-error@2.1.0/node_modules/@octokit/request-error/dist-src/index.js","../node_modules/.pnpm/@octokit+request@5.6.3/node_modules/@octokit/request/dist-src/version.js","../node_modules/.pnpm/@octokit+request@5.6.3/node_modules/@octokit/request/dist-src/get-buffer-response.js","../node_modules/.pnpm/@octokit+request@5.6.3/node_modules/@octokit/request/dist-src/fetch-wrapper.js","../node_modules/.pnpm/@octokit+request@5.6.3/node_modules/@octokit/request/dist-src/with-defaults.js","../node_modules/.pnpm/@octokit+request@5.6.3/node_modules/@octokit/request/dist-src/index.js","../node_modules/.pnpm/@octokit+graphql@4.8.0/node_modules/@octokit/graphql/dist-src/version.js","../node_modules/.pnpm/@octokit+graphql@4.8.0/node_modules/@octokit/graphql/dist-src/error.js","../node_modules/.pnpm/@octokit+graphql@4.8.0/node_modules/@octokit/graphql/dist-src/graphql.js","../node_modules/.pnpm/@octokit+graphql@4.8.0/node_modules/@octokit/graphql/dist-src/with-defaults.js","../node_modules/.pnpm/@octokit+graphql@4.8.0/node_modules/@octokit/graphql/dist-src/index.js","../node_modules/.pnpm/@octokit+auth-token@2.5.0/node_modules/@octokit/auth-token/dist-src/auth.js","../node_modules/.pnpm/@octokit+auth-token@2.5.0/node_modules/@octokit/auth-token/dist-src/with-authorization-prefix.js","../node_modules/.pnpm/@octokit+auth-token@2.5.0/node_modules/@octokit/auth-token/dist-src/hook.js","../node_modules/.pnpm/@octokit+auth-token@2.5.0/node_modules/@octokit/auth-token/dist-src/index.js","../node_modules/.pnpm/@octokit+core@3.6.0/node_modules/@octokit/core/dist-src/version.js","../node_modules/.pnpm/@octokit+core@3.6.0/node_modules/@octokit/core/dist-src/index.js","../node_modules/.pnpm/@octokit+plugin-rest-endpoint-methods@5.16.2_@octokit+core@3.6.0/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/endpoints.js","../node_modules/.pnpm/@octokit+plugin-rest-endpoint-methods@5.16.2_@octokit+core@3.6.0/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/version.js","../node_modules/.pnpm/@octokit+plugin-rest-endpoint-methods@5.16.2_@octokit+core@3.6.0/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/endpoints-to-methods.js","../node_modules/.pnpm/@octokit+plugin-rest-endpoint-methods@5.16.2_@octokit+core@3.6.0/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/index.js","../node_modules/.pnpm/@octokit+plugin-paginate-rest@2.21.3_@octokit+core@3.6.0/node_modules/@octokit/plugin-paginate-rest/dist-src/version.js","../node_modules/.pnpm/@octokit+plugin-paginate-rest@2.21.3_@octokit+core@3.6.0/node_modules/@octokit/plugin-paginate-rest/dist-src/normalize-paginated-list-response.js","../node_modules/.pnpm/@octokit+plugin-paginate-rest@2.21.3_@octokit+core@3.6.0/node_modules/@octokit/plugin-paginate-rest/dist-src/iterator.js","../node_modules/.pnpm/@octokit+plugin-paginate-rest@2.21.3_@octokit+core@3.6.0/node_modules/@octokit/plugin-paginate-rest/dist-src/paginate.js","../node_modules/.pnpm/@octokit+plugin-paginate-rest@2.21.3_@octokit+core@3.6.0/node_modules/@octokit/plugin-paginate-rest/dist-src/compose-paginate.js","../node_modules/.pnpm/@octokit+plugin-paginate-rest@2.21.3_@octokit+core@3.6.0/node_modules/@octokit/plugin-paginate-rest/dist-src/generated/paginating-endpoints.js","../node_modules/.pnpm/@octokit+plugin-paginate-rest@2.21.3_@octokit+core@3.6.0/node_modules/@octokit/plugin-paginate-rest/dist-src/paginating-endpoints.js","../node_modules/.pnpm/@octokit+plugin-paginate-rest@2.21.3_@octokit+core@3.6.0/node_modules/@octokit/plugin-paginate-rest/dist-src/index.js","../node_modules/.pnpm/@actions+github@5.1.1/node_modules/@actions/github/src/utils.ts","../node_modules/.pnpm/@actions+github@5.1.1/node_modules/@actions/github/src/github.ts","../node_modules/.pnpm/@actions+core@1.10.1/node_modules/@actions/core/src/utils.ts","../node_modules/.pnpm/@actions+core@1.10.1/node_modules/@actions/core/src/command.ts","../node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/esm-node/rng.js","../node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/esm-node/regex.js","../node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/esm-node/validate.js","../node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/esm-node/stringify.js","../node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/esm-node/v1.js","../node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/esm-node/parse.js","../node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/esm-node/v35.js","../node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/esm-node/md5.js","../node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/esm-node/v3.js","../node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/esm-node/v4.js","../node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/esm-node/sha1.js","../node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/esm-node/v5.js","../node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/esm-node/nil.js","../node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/esm-node/version.js","../node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/esm-node/index.js","../node_modules/.pnpm/@actions+core@1.10.1/node_modules/@actions/core/src/file-command.ts","../node_modules/.pnpm/@actions+http-client@2.1.1/node_modules/@actions/http-client/src/auth.ts","../node_modules/.pnpm/@actions+core@1.10.1/node_modules/@actions/core/src/oidc-utils.ts","../node_modules/.pnpm/@actions+core@1.10.1/node_modules/@actions/core/src/summary.ts","../node_modules/.pnpm/@actions+core@1.10.1/node_modules/@actions/core/src/path-utils.ts","../node_modules/.pnpm/@actions+core@1.10.1/node_modules/@actions/core/src/core.ts","../node_modules/.pnpm/ms@2.1.2/node_modules/ms/index.js","../node_modules/.pnpm/debug@4.3.4/node_modules/debug/src/common.js","../node_modules/.pnpm/debug@4.3.4/node_modules/debug/src/browser.js","../node_modules/.pnpm/has-flag@4.0.0/node_modules/has-flag/index.js","../node_modules/.pnpm/supports-color@7.2.0/node_modules/supports-color/index.js","../node_modules/.pnpm/debug@4.3.4/node_modules/debug/src/node.js","../node_modules/.pnpm/debug@4.3.4/node_modules/debug/src/index.js","../node_modules/.pnpm/@kwsites+file-exists@1.1.1/node_modules/@kwsites/file-exists/src/index.ts","../node_modules/.pnpm/@kwsites+file-exists@1.1.1/node_modules/@kwsites/file-exists/index.ts","../node_modules/.pnpm/@kwsites+promise-deferred@1.1.1/node_modules/@kwsites/promise-deferred/src/index.ts","../node_modules/.pnpm/path-exists@3.0.0/node_modules/path-exists/index.js","../node_modules/.pnpm/p-try@1.0.0/node_modules/p-try/index.js","../node_modules/.pnpm/p-limit@1.3.0/node_modules/p-limit/index.js","../node_modules/.pnpm/p-locate@2.0.0/node_modules/p-locate/index.js","../node_modules/.pnpm/locate-path@2.0.0/node_modules/locate-path/index.js","../node_modules/.pnpm/find-up@2.1.0/node_modules/find-up/index.js","../node_modules/.pnpm/ignore@3.3.10/node_modules/ignore/ignore.js","../node_modules/.pnpm/is-directory@0.3.1/node_modules/is-directory/index.js","../node_modules/.pnpm/fs.realpath@1.0.0/node_modules/fs.realpath/old.js","../node_modules/.pnpm/fs.realpath@1.0.0/node_modules/fs.realpath/index.js","../node_modules/.pnpm/concat-map@0.0.1/node_modules/concat-map/index.js","../node_modules/.pnpm/balanced-match@1.0.2/node_modules/balanced-match/index.js","../node_modules/.pnpm/brace-expansion@1.1.11/node_modules/brace-expansion/index.js","../node_modules/.pnpm/minimatch@3.1.2/node_modules/minimatch/minimatch.js","../node_modules/.pnpm/inherits@2.0.4/node_modules/inherits/inherits_browser.js","../node_modules/.pnpm/inherits@2.0.4/node_modules/inherits/inherits.js","../node_modules/.pnpm/path-is-absolute@1.0.1/node_modules/path-is-absolute/index.js","../node_modules/.pnpm/glob@7.2.3/node_modules/glob/common.js","../node_modules/.pnpm/glob@7.2.3/node_modules/glob/sync.js","../node_modules/.pnpm/inflight@1.0.6/node_modules/inflight/inflight.js","../node_modules/.pnpm/glob@7.2.3/node_modules/glob/glob.js","../node_modules/.pnpm/true-case-path@1.0.3/node_modules/true-case-path/index.js","../node_modules/.pnpm/codeowners@5.1.1/node_modules/codeowners/codeowners.js","../node_modules/.pnpm/brace-expansion@2.0.1/node_modules/brace-expansion/index.js","../node_modules/.pnpm/web-streams-polyfill@3.2.1/node_modules/web-streams-polyfill/src/stub/symbol.ts","../node_modules/.pnpm/web-streams-polyfill@3.2.1/node_modules/web-streams-polyfill/src/utils.ts","../node_modules/.pnpm/web-streams-polyfill@3.2.1/node_modules/web-streams-polyfill/src/lib/helpers/miscellaneous.ts","../node_modules/.pnpm/web-streams-polyfill@3.2.1/node_modules/web-streams-polyfill/src/lib/helpers/webidl.ts","../node_modules/.pnpm/web-streams-polyfill@3.2.1/node_modules/web-streams-polyfill/src/lib/simple-queue.ts","../node_modules/.pnpm/web-streams-polyfill@3.2.1/node_modules/web-streams-polyfill/src/lib/readable-stream/generic-reader.ts","../node_modules/.pnpm/web-streams-polyfill@3.2.1/node_modules/web-streams-polyfill/src/lib/abstract-ops/internal-methods.ts","../node_modules/.pnpm/web-streams-polyfill@3.2.1/node_modules/web-streams-polyfill/src/stub/number-isfinite.ts","../node_modules/.pnpm/web-streams-polyfill@3.2.1/node_modules/web-streams-polyfill/src/stub/math-trunc.ts","../node_modules/.pnpm/web-streams-polyfill@3.2.1/node_modules/web-streams-polyfill/src/lib/validators/basic.ts","../node_modules/.pnpm/web-streams-polyfill@3.2.1/node_modules/web-streams-polyfill/src/lib/validators/readable-stream.ts","../node_modules/.pnpm/web-streams-polyfill@3.2.1/node_modules/web-streams-polyfill/src/lib/readable-stream/default-reader.ts","../node_modules/.pnpm/web-streams-polyfill@3.2.1/node_modules/web-streams-polyfill/src/target/es2018/stub/async-iterator-prototype.ts","../node_modules/.pnpm/web-streams-polyfill@3.2.1/node_modules/web-streams-polyfill/src/lib/readable-stream/async-iterator.ts","../node_modules/.pnpm/web-streams-polyfill@3.2.1/node_modules/web-streams-polyfill/src/stub/number-isnan.ts","../node_modules/.pnpm/web-streams-polyfill@3.2.1/node_modules/web-streams-polyfill/src/lib/abstract-ops/ecmascript.ts","../node_modules/.pnpm/web-streams-polyfill@3.2.1/node_modules/web-streams-polyfill/src/lib/abstract-ops/miscellaneous.ts","../node_modules/.pnpm/web-streams-polyfill@3.2.1/node_modules/web-streams-polyfill/src/lib/abstract-ops/queue-with-sizes.ts","../node_modules/.pnpm/web-streams-polyfill@3.2.1/node_modules/web-streams-polyfill/src/lib/readable-stream/byte-stream-controller.ts","../node_modules/.pnpm/web-streams-polyfill@3.2.1/node_modules/web-streams-polyfill/src/lib/readable-stream/byob-reader.ts","../node_modules/.pnpm/web-streams-polyfill@3.2.1/node_modules/web-streams-polyfill/src/lib/abstract-ops/queuing-strategy.ts","../node_modules/.pnpm/web-streams-polyfill@3.2.1/node_modules/web-streams-polyfill/src/lib/validators/queuing-strategy.ts","../node_modules/.pnpm/web-streams-polyfill@3.2.1/node_modules/web-streams-polyfill/src/lib/validators/underlying-sink.ts","../node_modules/.pnpm/web-streams-polyfill@3.2.1/node_modules/web-streams-polyfill/src/lib/validators/writable-stream.ts","../node_modules/.pnpm/web-streams-polyfill@3.2.1/node_modules/web-streams-polyfill/src/lib/abort-signal.ts","../node_modules/.pnpm/web-streams-polyfill@3.2.1/node_modules/web-streams-polyfill/src/lib/writable-stream.ts","../node_modules/.pnpm/web-streams-polyfill@3.2.1/node_modules/web-streams-polyfill/src/stub/native.ts","../node_modules/.pnpm/web-streams-polyfill@3.2.1/node_modules/web-streams-polyfill/src/stub/dom-exception.ts","../node_modules/.pnpm/web-streams-polyfill@3.2.1/node_modules/web-streams-polyfill/src/lib/readable-stream/pipe.ts","../node_modules/.pnpm/web-streams-polyfill@3.2.1/node_modules/web-streams-polyfill/src/lib/readable-stream/default-controller.ts","../node_modules/.pnpm/web-streams-polyfill@3.2.1/node_modules/web-streams-polyfill/src/lib/readable-stream/tee.ts","../node_modules/.pnpm/web-streams-polyfill@3.2.1/node_modules/web-streams-polyfill/src/lib/validators/underlying-source.ts","../node_modules/.pnpm/web-streams-polyfill@3.2.1/node_modules/web-streams-polyfill/src/lib/validators/reader-options.ts","../node_modules/.pnpm/web-streams-polyfill@3.2.1/node_modules/web-streams-polyfill/src/lib/validators/iterator-options.ts","../node_modules/.pnpm/web-streams-polyfill@3.2.1/node_modules/web-streams-polyfill/src/lib/validators/pipe-options.ts","../node_modules/.pnpm/web-streams-polyfill@3.2.1/node_modules/web-streams-polyfill/src/lib/validators/readable-writable-pair.ts","../node_modules/.pnpm/web-streams-polyfill@3.2.1/node_modules/web-streams-polyfill/src/lib/readable-stream.ts","../node_modules/.pnpm/web-streams-polyfill@3.2.1/node_modules/web-streams-polyfill/src/lib/validators/queuing-strategy-init.ts","../node_modules/.pnpm/web-streams-polyfill@3.2.1/node_modules/web-streams-polyfill/src/lib/byte-length-queuing-strategy.ts","../node_modules/.pnpm/web-streams-polyfill@3.2.1/node_modules/web-streams-polyfill/src/lib/count-queuing-strategy.ts","../node_modules/.pnpm/web-streams-polyfill@3.2.1/node_modules/web-streams-polyfill/src/lib/validators/transformer.ts","../node_modules/.pnpm/web-streams-polyfill@3.2.1/node_modules/web-streams-polyfill/src/lib/transform-stream.ts","../node_modules/.pnpm/fetch-blob@3.2.0/node_modules/fetch-blob/streams.cjs","../node_modules/.pnpm/fetch-blob@3.2.0/node_modules/fetch-blob/index.js","../node_modules/.pnpm/fetch-blob@3.2.0/node_modules/fetch-blob/file.js","../node_modules/.pnpm/formdata-polyfill@4.0.10/node_modules/formdata-polyfill/esm.min.js","../node_modules/.pnpm/node-domexception@1.0.0/node_modules/node-domexception/index.js","../node_modules/.pnpm/fetch-blob@3.2.0/node_modules/fetch-blob/from.js","../node_modules/.pnpm/node-fetch@3.3.2/node_modules/node-fetch/src/utils/multipart-parser.js","../src/main.ts","../node_modules/.pnpm/chalk@5.3.0/node_modules/chalk/source/vendor/ansi-styles/index.js","../node_modules/.pnpm/chalk@5.3.0/node_modules/chalk/source/vendor/supports-color/index.js","../node_modules/.pnpm/chalk@5.3.0/node_modules/chalk/source/utilities.js","../node_modules/.pnpm/chalk@5.3.0/node_modules/chalk/source/index.js","../src/calculate-reviews-to-dismiss.ts","../src/group-reviews-by-commit.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/args/pathspec.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/errors/git-error.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/errors/git-response-error.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/errors/task-configuration-error.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/utils/util.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/utils/argument-filters.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/utils/exit-codes.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/utils/git-output-streams.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/utils/line-parser.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/utils/simple-git-options.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/utils/task-options.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/utils/task-parser.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/utils/index.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/tasks/check-is-repo.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/responses/CleanSummary.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/tasks/task.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/tasks/clean.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/responses/ConfigList.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/tasks/config.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/tasks/grep.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/tasks/reset.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/git-logger.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/runners/tasks-pending-queue.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/runners/git-executor-chain.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/runners/git-executor.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/task-callback.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/tasks/change-working-directory.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/tasks/checkout.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/parsers/parse-commit.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/tasks/commit.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/tasks/hash-object.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/responses/InitSummary.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/tasks/init.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/args/log-format.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/responses/DiffSummary.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/parsers/parse-diff-summary.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/parsers/parse-list-log-summary.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/tasks/diff.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/tasks/log.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/responses/MergeSummary.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/responses/PullSummary.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/parsers/parse-remote-objects.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/parsers/parse-remote-messages.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/parsers/parse-pull.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/parsers/parse-merge.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/tasks/merge.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/parsers/parse-push.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/tasks/push.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/tasks/show.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/responses/FileStatusSummary.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/responses/StatusSummary.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/tasks/status.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/tasks/version.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/simple-git-api.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/runners/scheduler.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/tasks/apply-patch.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/responses/BranchDeleteSummary.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/parsers/parse-branch-delete.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/responses/BranchSummary.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/parsers/parse-branch.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/tasks/branch.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/responses/CheckIgnore.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/tasks/check-ignore.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/tasks/clone.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/parsers/parse-fetch.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/tasks/fetch.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/parsers/parse-move.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/tasks/move.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/tasks/pull.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/responses/GetRemoteSummary.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/tasks/remote.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/tasks/stash-list.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/tasks/sub-module.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/responses/TagList.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/tasks/tag.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/git.js","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/api.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/errors/git-construct-error.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/errors/git-plugin-error.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/plugins/abort-plugin.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/plugins/block-unsafe-operations-plugin.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/plugins/command-config-prefixing-plugin.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/plugins/completion-detection.plugin.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/plugins/error-detection.plugin.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/plugins/plugin-store.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/plugins/progress-monitor-plugin.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/plugins/spawn-options-plugin.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/plugins/timout-plugin.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/plugins/suffix-paths.plugin.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/git-factory.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/lib/runners/promise-wrapped.ts","../node_modules/.pnpm/simple-git@3.19.1/node_modules/simple-git/src/esm.mjs","../node_modules/.pnpm/minimatch@9.0.3/node_modules/minimatch/src/index.ts","../node_modules/.pnpm/minimatch@9.0.3/node_modules/minimatch/src/assert-valid-pattern.ts","../node_modules/.pnpm/minimatch@9.0.3/node_modules/minimatch/src/brace-expressions.ts","../node_modules/.pnpm/minimatch@9.0.3/node_modules/minimatch/src/unescape.ts","../node_modules/.pnpm/minimatch@9.0.3/node_modules/minimatch/src/ast.ts","../node_modules/.pnpm/minimatch@9.0.3/node_modules/minimatch/src/escape.ts","../src/get-head-diff-since-review.ts","../src/type-guards.ts","../src/get-team-data.ts","../src/dismiss-reviews.ts","../src/get-pr-data.ts","../node_modules/.pnpm/@octokit+core@5.0.0/node_modules/@octokit/core/dist-web/index.js","../node_modules/.pnpm/@octokit+endpoint@9.0.0/node_modules/@octokit/endpoint/dist-src/defaults.js","../node_modules/.pnpm/@octokit+endpoint@9.0.0/node_modules/@octokit/endpoint/dist-src/version.js","../node_modules/.pnpm/@octokit+endpoint@9.0.0/node_modules/@octokit/endpoint/dist-src/util/lowercase-keys.js","../node_modules/.pnpm/@octokit+endpoint@9.0.0/node_modules/@octokit/endpoint/dist-src/util/merge-deep.js","../node_modules/.pnpm/@octokit+endpoint@9.0.0/node_modules/@octokit/endpoint/dist-src/util/remove-undefined-properties.js","../node_modules/.pnpm/@octokit+endpoint@9.0.0/node_modules/@octokit/endpoint/dist-src/merge.js","../node_modules/.pnpm/@octokit+endpoint@9.0.0/node_modules/@octokit/endpoint/dist-src/util/add-query-parameters.js","../node_modules/.pnpm/@octokit+endpoint@9.0.0/node_modules/@octokit/endpoint/dist-src/util/extract-url-variable-names.js","../node_modules/.pnpm/@octokit+endpoint@9.0.0/node_modules/@octokit/endpoint/dist-src/util/omit.js","../node_modules/.pnpm/@octokit+endpoint@9.0.0/node_modules/@octokit/endpoint/dist-src/util/url-template.js","../node_modules/.pnpm/@octokit+endpoint@9.0.0/node_modules/@octokit/endpoint/dist-src/parse.js","../node_modules/.pnpm/@octokit+endpoint@9.0.0/node_modules/@octokit/endpoint/dist-src/endpoint-with-defaults.js","../node_modules/.pnpm/@octokit+endpoint@9.0.0/node_modules/@octokit/endpoint/dist-src/with-defaults.js","../node_modules/.pnpm/@octokit+endpoint@9.0.0/node_modules/@octokit/endpoint/dist-src/index.js","../node_modules/.pnpm/@octokit+request@8.1.1/node_modules/@octokit/request/dist-src/index.js","../node_modules/.pnpm/@octokit+request@8.1.1/node_modules/@octokit/request/dist-src/version.js","../node_modules/.pnpm/@octokit+request@8.1.1/node_modules/@octokit/request/dist-src/fetch-wrapper.js","../node_modules/.pnpm/@octokit+request-error@5.0.0/node_modules/@octokit/request-error/dist-src/index.js","../node_modules/.pnpm/@octokit+request@8.1.1/node_modules/@octokit/request/dist-src/get-buffer-response.js","../node_modules/.pnpm/@octokit+request@8.1.1/node_modules/@octokit/request/dist-src/with-defaults.js","../node_modules/.pnpm/@octokit+graphql@7.0.1/node_modules/@octokit/graphql/dist-web/index.js","../node_modules/.pnpm/@octokit+auth-token@4.0.0/node_modules/@octokit/auth-token/dist-src/auth.js","../node_modules/.pnpm/@octokit+auth-token@4.0.0/node_modules/@octokit/auth-token/dist-src/with-authorization-prefix.js","../node_modules/.pnpm/@octokit+auth-token@4.0.0/node_modules/@octokit/auth-token/dist-src/hook.js","../node_modules/.pnpm/@octokit+auth-token@4.0.0/node_modules/@octokit/auth-token/dist-src/index.js","../node_modules/.pnpm/@octokit+plugin-paginate-graphql@4.0.0_@octokit+core@5.0.0/node_modules/@octokit/plugin-paginate-graphql/dist-src/errors.js","../node_modules/.pnpm/@octokit+plugin-paginate-graphql@4.0.0_@octokit+core@5.0.0/node_modules/@octokit/plugin-paginate-graphql/dist-src/object-helpers.js","../node_modules/.pnpm/@octokit+plugin-paginate-graphql@4.0.0_@octokit+core@5.0.0/node_modules/@octokit/plugin-paginate-graphql/dist-src/extract-page-info.js","../node_modules/.pnpm/@octokit+plugin-paginate-graphql@4.0.0_@octokit+core@5.0.0/node_modules/@octokit/plugin-paginate-graphql/dist-src/page-info.js","../node_modules/.pnpm/@octokit+plugin-paginate-graphql@4.0.0_@octokit+core@5.0.0/node_modules/@octokit/plugin-paginate-graphql/dist-src/iterator.js","../node_modules/.pnpm/@octokit+plugin-paginate-graphql@4.0.0_@octokit+core@5.0.0/node_modules/@octokit/plugin-paginate-graphql/dist-src/merge-responses.js","../node_modules/.pnpm/@octokit+plugin-paginate-graphql@4.0.0_@octokit+core@5.0.0/node_modules/@octokit/plugin-paginate-graphql/dist-src/paginate.js","../node_modules/.pnpm/@octokit+plugin-paginate-graphql@4.0.0_@octokit+core@5.0.0/node_modules/@octokit/plugin-paginate-graphql/dist-src/index.js","../node_modules/.pnpm/node-fetch@3.3.2/node_modules/node-fetch/src/index.js","../node_modules/.pnpm/data-uri-to-buffer@4.0.1/node_modules/data-uri-to-buffer/src/index.ts","../node_modules/.pnpm/node-fetch@3.3.2/node_modules/node-fetch/src/body.js","../node_modules/.pnpm/node-fetch@3.3.2/node_modules/node-fetch/src/errors/base.js","../node_modules/.pnpm/node-fetch@3.3.2/node_modules/node-fetch/src/errors/fetch-error.js","../node_modules/.pnpm/node-fetch@3.3.2/node_modules/node-fetch/src/utils/is.js","../node_modules/.pnpm/node-fetch@3.3.2/node_modules/node-fetch/src/headers.js","../node_modules/.pnpm/node-fetch@3.3.2/node_modules/node-fetch/src/utils/is-redirect.js","../node_modules/.pnpm/node-fetch@3.3.2/node_modules/node-fetch/src/response.js","../node_modules/.pnpm/node-fetch@3.3.2/node_modules/node-fetch/src/request.js","../node_modules/.pnpm/node-fetch@3.3.2/node_modules/node-fetch/src/utils/get-search.js","../node_modules/.pnpm/node-fetch@3.3.2/node_modules/node-fetch/src/utils/referrer.js","../node_modules/.pnpm/node-fetch@3.3.2/node_modules/node-fetch/src/errors/abort-error.js","../src/get-octokit.ts","../src/get-inputs.ts"],"sourcesContent":[null,null,"'use strict';\n\nvar net = require('net');\nvar tls = require('tls');\nvar http = require('http');\nvar https = require('https');\nvar events = require('events');\nvar assert = require('assert');\nvar util = require('util');\n\n\nexports.httpOverHttp = httpOverHttp;\nexports.httpsOverHttp = httpsOverHttp;\nexports.httpOverHttps = httpOverHttps;\nexports.httpsOverHttps = httpsOverHttps;\n\n\nfunction httpOverHttp(options) {\n  var agent = new TunnelingAgent(options);\n  agent.request = http.request;\n  return agent;\n}\n\nfunction httpsOverHttp(options) {\n  var agent = new TunnelingAgent(options);\n  agent.request = http.request;\n  agent.createSocket = createSecureSocket;\n  agent.defaultPort = 443;\n  return agent;\n}\n\nfunction httpOverHttps(options) {\n  var agent = new TunnelingAgent(options);\n  agent.request = https.request;\n  return agent;\n}\n\nfunction httpsOverHttps(options) {\n  var agent = new TunnelingAgent(options);\n  agent.request = https.request;\n  agent.createSocket = createSecureSocket;\n  agent.defaultPort = 443;\n  return agent;\n}\n\n\nfunction TunnelingAgent(options) {\n  var self = this;\n  self.options = options || {};\n  self.proxyOptions = self.options.proxy || {};\n  self.maxSockets = self.options.maxSockets || http.Agent.defaultMaxSockets;\n  self.requests = [];\n  self.sockets = [];\n\n  self.on('free', function onFree(socket, host, port, localAddress) {\n    var options = toOptions(host, port, localAddress);\n    for (var i = 0, len = self.requests.length; i < len; ++i) {\n      var pending = self.requests[i];\n      if (pending.host === options.host && pending.port === options.port) {\n        // Detect the request to connect same origin server,\n        // reuse the connection.\n        self.requests.splice(i, 1);\n        pending.request.onSocket(socket);\n        return;\n      }\n    }\n    socket.destroy();\n    self.removeSocket(socket);\n  });\n}\nutil.inherits(TunnelingAgent, events.EventEmitter);\n\nTunnelingAgent.prototype.addRequest = function addRequest(req, host, port, localAddress) {\n  var self = this;\n  var options = mergeOptions({request: req}, self.options, toOptions(host, port, localAddress));\n\n  if (self.sockets.length >= this.maxSockets) {\n    // We are over limit so we'll add it to the queue.\n    self.requests.push(options);\n    return;\n  }\n\n  // If we are under maxSockets create a new one.\n  self.createSocket(options, function(socket) {\n    socket.on('free', onFree);\n    socket.on('close', onCloseOrRemove);\n    socket.on('agentRemove', onCloseOrRemove);\n    req.onSocket(socket);\n\n    function onFree() {\n      self.emit('free', socket, options);\n    }\n\n    function onCloseOrRemove(err) {\n      self.removeSocket(socket);\n      socket.removeListener('free', onFree);\n      socket.removeListener('close', onCloseOrRemove);\n      socket.removeListener('agentRemove', onCloseOrRemove);\n    }\n  });\n};\n\nTunnelingAgent.prototype.createSocket = function createSocket(options, cb) {\n  var self = this;\n  var placeholder = {};\n  self.sockets.push(placeholder);\n\n  var connectOptions = mergeOptions({}, self.proxyOptions, {\n    method: 'CONNECT',\n    path: options.host + ':' + options.port,\n    agent: false,\n    headers: {\n      host: options.host + ':' + options.port\n    }\n  });\n  if (options.localAddress) {\n    connectOptions.localAddress = options.localAddress;\n  }\n  if (connectOptions.proxyAuth) {\n    connectOptions.headers = connectOptions.headers || {};\n    connectOptions.headers['Proxy-Authorization'] = 'Basic ' +\n        new Buffer(connectOptions.proxyAuth).toString('base64');\n  }\n\n  debug('making CONNECT request');\n  var connectReq = self.request(connectOptions);\n  connectReq.useChunkedEncodingByDefault = false; // for v0.6\n  connectReq.once('response', onResponse); // for v0.6\n  connectReq.once('upgrade', onUpgrade);   // for v0.6\n  connectReq.once('connect', onConnect);   // for v0.7 or later\n  connectReq.once('error', onError);\n  connectReq.end();\n\n  function onResponse(res) {\n    // Very hacky. This is necessary to avoid http-parser leaks.\n    res.upgrade = true;\n  }\n\n  function onUpgrade(res, socket, head) {\n    // Hacky.\n    process.nextTick(function() {\n      onConnect(res, socket, head);\n    });\n  }\n\n  function onConnect(res, socket, head) {\n    connectReq.removeAllListeners();\n    socket.removeAllListeners();\n\n    if (res.statusCode !== 200) {\n      debug('tunneling socket could not be established, statusCode=%d',\n        res.statusCode);\n      socket.destroy();\n      var error = new Error('tunneling socket could not be established, ' +\n        'statusCode=' + res.statusCode);\n      error.code = 'ECONNRESET';\n      options.request.emit('error', error);\n      self.removeSocket(placeholder);\n      return;\n    }\n    if (head.length > 0) {\n      debug('got illegal response body from proxy');\n      socket.destroy();\n      var error = new Error('got illegal response body from proxy');\n      error.code = 'ECONNRESET';\n      options.request.emit('error', error);\n      self.removeSocket(placeholder);\n      return;\n    }\n    debug('tunneling connection has established');\n    self.sockets[self.sockets.indexOf(placeholder)] = socket;\n    return cb(socket);\n  }\n\n  function onError(cause) {\n    connectReq.removeAllListeners();\n\n    debug('tunneling socket could not be established, cause=%s\\n',\n          cause.message, cause.stack);\n    var error = new Error('tunneling socket could not be established, ' +\n                          'cause=' + cause.message);\n    error.code = 'ECONNRESET';\n    options.request.emit('error', error);\n    self.removeSocket(placeholder);\n  }\n};\n\nTunnelingAgent.prototype.removeSocket = function removeSocket(socket) {\n  var pos = this.sockets.indexOf(socket)\n  if (pos === -1) {\n    return;\n  }\n  this.sockets.splice(pos, 1);\n\n  var pending = this.requests.shift();\n  if (pending) {\n    // If we have pending requests and a socket gets closed a new one\n    // needs to be created to take over in the pool for the one that closed.\n    this.createSocket(pending, function(socket) {\n      pending.request.onSocket(socket);\n    });\n  }\n};\n\nfunction createSecureSocket(options, cb) {\n  var self = this;\n  TunnelingAgent.prototype.createSocket.call(self, options, function(socket) {\n    var hostHeader = options.request.getHeader('host');\n    var tlsOptions = mergeOptions({}, self.options, {\n      socket: socket,\n      servername: hostHeader ? hostHeader.replace(/:.*$/, '') : options.host\n    });\n\n    // 0 is dummy port for v0.6\n    var secureSocket = tls.connect(0, tlsOptions);\n    self.sockets[self.sockets.indexOf(socket)] = secureSocket;\n    cb(secureSocket);\n  });\n}\n\n\nfunction toOptions(host, port, localAddress) {\n  if (typeof host === 'string') { // since v0.10\n    return {\n      host: host,\n      port: port,\n      localAddress: localAddress\n    };\n  }\n  return host; // for v0.11 or later\n}\n\nfunction mergeOptions(target) {\n  for (var i = 1, len = arguments.length; i < len; ++i) {\n    var overrides = arguments[i];\n    if (typeof overrides === 'object') {\n      var keys = Object.keys(overrides);\n      for (var j = 0, keyLen = keys.length; j < keyLen; ++j) {\n        var k = keys[j];\n        if (overrides[k] !== undefined) {\n          target[k] = overrides[k];\n        }\n      }\n    }\n  }\n  return target;\n}\n\n\nvar debug;\nif (process.env.NODE_DEBUG && /\\btunnel\\b/.test(process.env.NODE_DEBUG)) {\n  debug = function() {\n    var args = Array.prototype.slice.call(arguments);\n    if (typeof args[0] === 'string') {\n      args[0] = 'TUNNEL: ' + args[0];\n    } else {\n      args.unshift('TUNNEL:');\n    }\n    console.error.apply(console, args);\n  }\n} else {\n  debug = function() {};\n}\nexports.debug = debug; // for test\n","module.exports = require('./lib/tunnel');\n",null,null,"export function getUserAgent() {\n    if (typeof navigator === \"object\" && \"userAgent\" in navigator) {\n        return navigator.userAgent;\n    }\n    if (typeof process === \"object\" && \"version\" in process) {\n        return `Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`;\n    }\n    return \"\";\n}\n","module.exports = register;\n\nfunction register(state, name, method, options) {\n  if (typeof method !== \"function\") {\n    throw new Error(\"method for before hook must be a function\");\n  }\n\n  if (!options) {\n    options = {};\n  }\n\n  if (Array.isArray(name)) {\n    return name.reverse().reduce(function (callback, name) {\n      return register.bind(null, state, name, callback, options);\n    }, method)();\n  }\n\n  return Promise.resolve().then(function () {\n    if (!state.registry[name]) {\n      return method(options);\n    }\n\n    return state.registry[name].reduce(function (method, registered) {\n      return registered.hook.bind(null, method, options);\n    }, method)();\n  });\n}\n","module.exports = addHook;\n\nfunction addHook(state, kind, name, hook) {\n  var orig = hook;\n  if (!state.registry[name]) {\n    state.registry[name] = [];\n  }\n\n  if (kind === \"before\") {\n    hook = function (method, options) {\n      return Promise.resolve()\n        .then(orig.bind(null, options))\n        .then(method.bind(null, options));\n    };\n  }\n\n  if (kind === \"after\") {\n    hook = function (method, options) {\n      var result;\n      return Promise.resolve()\n        .then(method.bind(null, options))\n        .then(function (result_) {\n          result = result_;\n          return orig(result, options);\n        })\n        .then(function () {\n          return result;\n        });\n    };\n  }\n\n  if (kind === \"error\") {\n    hook = function (method, options) {\n      return Promise.resolve()\n        .then(method.bind(null, options))\n        .catch(function (error) {\n          return orig(error, options);\n        });\n    };\n  }\n\n  state.registry[name].push({\n    hook: hook,\n    orig: orig,\n  });\n}\n","module.exports = removeHook;\n\nfunction removeHook(state, name, method) {\n  if (!state.registry[name]) {\n    return;\n  }\n\n  var index = state.registry[name]\n    .map(function (registered) {\n      return registered.orig;\n    })\n    .indexOf(method);\n\n  if (index === -1) {\n    return;\n  }\n\n  state.registry[name].splice(index, 1);\n}\n","var register = require(\"./lib/register\");\nvar addHook = require(\"./lib/add\");\nvar removeHook = require(\"./lib/remove\");\n\n// bind with array of arguments: https://stackoverflow.com/a/21792913\nvar bind = Function.bind;\nvar bindable = bind.bind(bind);\n\nfunction bindApi(hook, state, name) {\n  var removeHookRef = bindable(removeHook, null).apply(\n    null,\n    name ? [state, name] : [state]\n  );\n  hook.api = { remove: removeHookRef };\n  hook.remove = removeHookRef;\n  [\"before\", \"error\", \"after\", \"wrap\"].forEach(function (kind) {\n    var args = name ? [state, kind, name] : [state, kind];\n    hook[kind] = hook.api[kind] = bindable(addHook, null).apply(null, args);\n  });\n}\n\nfunction HookSingular() {\n  var singularHookName = \"h\";\n  var singularHookState = {\n    registry: {},\n  };\n  var singularHook = register.bind(null, singularHookState, singularHookName);\n  bindApi(singularHook, singularHookState, singularHookName);\n  return singularHook;\n}\n\nfunction HookCollection() {\n  var state = {\n    registry: {},\n  };\n\n  var hook = register.bind(null, state);\n  bindApi(hook, state);\n\n  return hook;\n}\n\nvar collectionHookDeprecationMessageDisplayed = false;\nfunction Hook() {\n  if (!collectionHookDeprecationMessageDisplayed) {\n    console.warn(\n      '[before-after-hook]: \"Hook()\" repurposing warning, use \"Hook.Collection()\". Read more: https://git.io/upgrade-before-after-hook-to-1.4'\n    );\n    collectionHookDeprecationMessageDisplayed = true;\n  }\n  return HookCollection();\n}\n\nHook.Singular = HookSingular.bind();\nHook.Collection = HookCollection.bind();\n\nmodule.exports = Hook;\n// expose constructors as a named property for TypeScript\nmodule.exports.Hook = Hook;\nmodule.exports.Singular = Hook.Singular;\nmodule.exports.Collection = Hook.Collection;\n","/*!\n * is-plain-object \n *\n * Copyright (c) 2014-2017, Jon Schlinkert.\n * Released under the MIT License.\n */\n\nfunction isObject(o) {\n  return Object.prototype.toString.call(o) === '[object Object]';\n}\n\nfunction isPlainObject(o) {\n  var ctor,prot;\n\n  if (isObject(o) === false) return false;\n\n  // If has modified constructor\n  ctor = o.constructor;\n  if (ctor === undefined) return true;\n\n  // If has modified prototype\n  prot = ctor.prototype;\n  if (isObject(prot) === false) return false;\n\n  // If constructor does not have an Object-specific method\n  if (prot.hasOwnProperty('isPrototypeOf') === false) {\n    return false;\n  }\n\n  // Most likely a plain Object\n  return true;\n}\n\nexport { isPlainObject };\n","export function lowercaseKeys(object) {\n    if (!object) {\n        return {};\n    }\n    return Object.keys(object).reduce((newObj, key) => {\n        newObj[key.toLowerCase()] = object[key];\n        return newObj;\n    }, {});\n}\n","import { isPlainObject } from \"is-plain-object\";\nexport function mergeDeep(defaults, options) {\n    const result = Object.assign({}, defaults);\n    Object.keys(options).forEach((key) => {\n        if (isPlainObject(options[key])) {\n            if (!(key in defaults))\n                Object.assign(result, { [key]: options[key] });\n            else\n                result[key] = mergeDeep(defaults[key], options[key]);\n        }\n        else {\n            Object.assign(result, { [key]: options[key] });\n        }\n    });\n    return result;\n}\n","export function removeUndefinedProperties(obj) {\n    for (const key in obj) {\n        if (obj[key] === undefined) {\n            delete obj[key];\n        }\n    }\n    return obj;\n}\n","import { lowercaseKeys } from \"./util/lowercase-keys\";\nimport { mergeDeep } from \"./util/merge-deep\";\nimport { removeUndefinedProperties } from \"./util/remove-undefined-properties\";\nexport function merge(defaults, route, options) {\n    if (typeof route === \"string\") {\n        let [method, url] = route.split(\" \");\n        options = Object.assign(url ? { method, url } : { url: method }, options);\n    }\n    else {\n        options = Object.assign({}, route);\n    }\n    // lowercase header names before merging with defaults to avoid duplicates\n    options.headers = lowercaseKeys(options.headers);\n    // remove properties with undefined values before merging\n    removeUndefinedProperties(options);\n    removeUndefinedProperties(options.headers);\n    const mergedOptions = mergeDeep(defaults || {}, options);\n    // mediaType.previews arrays are merged, instead of overwritten\n    if (defaults && defaults.mediaType.previews.length) {\n        mergedOptions.mediaType.previews = defaults.mediaType.previews\n            .filter((preview) => !mergedOptions.mediaType.previews.includes(preview))\n            .concat(mergedOptions.mediaType.previews);\n    }\n    mergedOptions.mediaType.previews = mergedOptions.mediaType.previews.map((preview) => preview.replace(/-preview/, \"\"));\n    return mergedOptions;\n}\n","export function addQueryParameters(url, parameters) {\n    const separator = /\\?/.test(url) ? \"&\" : \"?\";\n    const names = Object.keys(parameters);\n    if (names.length === 0) {\n        return url;\n    }\n    return (url +\n        separator +\n        names\n            .map((name) => {\n            if (name === \"q\") {\n                return (\"q=\" + parameters.q.split(\"+\").map(encodeURIComponent).join(\"+\"));\n            }\n            return `${name}=${encodeURIComponent(parameters[name])}`;\n        })\n            .join(\"&\"));\n}\n","const urlVariableRegex = /\\{[^}]+\\}/g;\nfunction removeNonChars(variableName) {\n    return variableName.replace(/^\\W+|\\W+$/g, \"\").split(/,/);\n}\nexport function extractUrlVariableNames(url) {\n    const matches = url.match(urlVariableRegex);\n    if (!matches) {\n        return [];\n    }\n    return matches.map(removeNonChars).reduce((a, b) => a.concat(b), []);\n}\n","export function omit(object, keysToOmit) {\n    return Object.keys(object)\n        .filter((option) => !keysToOmit.includes(option))\n        .reduce((obj, key) => {\n        obj[key] = object[key];\n        return obj;\n    }, {});\n}\n","// Based on https://github.com/bramstein/url-template, licensed under BSD\n// TODO: create separate package.\n//\n// Copyright (c) 2012-2014, Bram Stein\n// All rights reserved.\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions\n// are met:\n//  1. Redistributions of source code must retain the above copyright\n//     notice, this list of conditions and the following disclaimer.\n//  2. Redistributions in binary form must reproduce the above copyright\n//     notice, this list of conditions and the following disclaimer in the\n//     documentation and/or other materials provided with the distribution.\n//  3. The name of the author may not be used to endorse or promote products\n//     derived from this software without specific prior written permission.\n// THIS SOFTWARE IS PROVIDED BY THE AUTHOR \"AS IS\" AND ANY EXPRESS OR IMPLIED\n// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO\n// EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,\n// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,\n// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY\n// 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,\n// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n/* istanbul ignore file */\nfunction encodeReserved(str) {\n    return str\n        .split(/(%[0-9A-Fa-f]{2})/g)\n        .map(function (part) {\n        if (!/%[0-9A-Fa-f]/.test(part)) {\n            part = encodeURI(part).replace(/%5B/g, \"[\").replace(/%5D/g, \"]\");\n        }\n        return part;\n    })\n        .join(\"\");\n}\nfunction encodeUnreserved(str) {\n    return encodeURIComponent(str).replace(/[!'()*]/g, function (c) {\n        return \"%\" + c.charCodeAt(0).toString(16).toUpperCase();\n    });\n}\nfunction encodeValue(operator, value, key) {\n    value =\n        operator === \"+\" || operator === \"#\"\n            ? encodeReserved(value)\n            : encodeUnreserved(value);\n    if (key) {\n        return encodeUnreserved(key) + \"=\" + value;\n    }\n    else {\n        return value;\n    }\n}\nfunction isDefined(value) {\n    return value !== undefined && value !== null;\n}\nfunction isKeyOperator(operator) {\n    return operator === \";\" || operator === \"&\" || operator === \"?\";\n}\nfunction getValues(context, operator, key, modifier) {\n    var value = context[key], result = [];\n    if (isDefined(value) && value !== \"\") {\n        if (typeof value === \"string\" ||\n            typeof value === \"number\" ||\n            typeof value === \"boolean\") {\n            value = value.toString();\n            if (modifier && modifier !== \"*\") {\n                value = value.substring(0, parseInt(modifier, 10));\n            }\n            result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : \"\"));\n        }\n        else {\n            if (modifier === \"*\") {\n                if (Array.isArray(value)) {\n                    value.filter(isDefined).forEach(function (value) {\n                        result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : \"\"));\n                    });\n                }\n                else {\n                    Object.keys(value).forEach(function (k) {\n                        if (isDefined(value[k])) {\n                            result.push(encodeValue(operator, value[k], k));\n                        }\n                    });\n                }\n            }\n            else {\n                const tmp = [];\n                if (Array.isArray(value)) {\n                    value.filter(isDefined).forEach(function (value) {\n                        tmp.push(encodeValue(operator, value));\n                    });\n                }\n                else {\n                    Object.keys(value).forEach(function (k) {\n                        if (isDefined(value[k])) {\n                            tmp.push(encodeUnreserved(k));\n                            tmp.push(encodeValue(operator, value[k].toString()));\n                        }\n                    });\n                }\n                if (isKeyOperator(operator)) {\n                    result.push(encodeUnreserved(key) + \"=\" + tmp.join(\",\"));\n                }\n                else if (tmp.length !== 0) {\n                    result.push(tmp.join(\",\"));\n                }\n            }\n        }\n    }\n    else {\n        if (operator === \";\") {\n            if (isDefined(value)) {\n                result.push(encodeUnreserved(key));\n            }\n        }\n        else if (value === \"\" && (operator === \"&\" || operator === \"?\")) {\n            result.push(encodeUnreserved(key) + \"=\");\n        }\n        else if (value === \"\") {\n            result.push(\"\");\n        }\n    }\n    return result;\n}\nexport function parseUrl(template) {\n    return {\n        expand: expand.bind(null, template),\n    };\n}\nfunction expand(template, context) {\n    var operators = [\"+\", \"#\", \".\", \"/\", \";\", \"?\", \"&\"];\n    return template.replace(/\\{([^\\{\\}]+)\\}|([^\\{\\}]+)/g, function (_, expression, literal) {\n        if (expression) {\n            let operator = \"\";\n            const values = [];\n            if (operators.indexOf(expression.charAt(0)) !== -1) {\n                operator = expression.charAt(0);\n                expression = expression.substr(1);\n            }\n            expression.split(/,/g).forEach(function (variable) {\n                var tmp = /([^:\\*]*)(?::(\\d+)|(\\*))?/.exec(variable);\n                values.push(getValues(context, operator, tmp[1], tmp[2] || tmp[3]));\n            });\n            if (operator && operator !== \"+\") {\n                var separator = \",\";\n                if (operator === \"?\") {\n                    separator = \"&\";\n                }\n                else if (operator !== \"#\") {\n                    separator = operator;\n                }\n                return (values.length !== 0 ? operator : \"\") + values.join(separator);\n            }\n            else {\n                return values.join(\",\");\n            }\n        }\n        else {\n            return encodeReserved(literal);\n        }\n    });\n}\n","import { addQueryParameters } from \"./util/add-query-parameters\";\nimport { extractUrlVariableNames } from \"./util/extract-url-variable-names\";\nimport { omit } from \"./util/omit\";\nimport { parseUrl } from \"./util/url-template\";\nexport function parse(options) {\n    // https://fetch.spec.whatwg.org/#methods\n    let method = options.method.toUpperCase();\n    // replace :varname with {varname} to make it RFC 6570 compatible\n    let url = (options.url || \"/\").replace(/:([a-z]\\w+)/g, \"{$1}\");\n    let headers = Object.assign({}, options.headers);\n    let body;\n    let parameters = omit(options, [\n        \"method\",\n        \"baseUrl\",\n        \"url\",\n        \"headers\",\n        \"request\",\n        \"mediaType\",\n    ]);\n    // extract variable names from URL to calculate remaining variables later\n    const urlVariableNames = extractUrlVariableNames(url);\n    url = parseUrl(url).expand(parameters);\n    if (!/^http/.test(url)) {\n        url = options.baseUrl + url;\n    }\n    const omittedParameters = Object.keys(options)\n        .filter((option) => urlVariableNames.includes(option))\n        .concat(\"baseUrl\");\n    const remainingParameters = omit(parameters, omittedParameters);\n    const isBinaryRequest = /application\\/octet-stream/i.test(headers.accept);\n    if (!isBinaryRequest) {\n        if (options.mediaType.format) {\n            // e.g. application/vnd.github.v3+json => application/vnd.github.v3.raw\n            headers.accept = headers.accept\n                .split(/,/)\n                .map((preview) => preview.replace(/application\\/vnd(\\.\\w+)(\\.v3)?(\\.\\w+)?(\\+json)?$/, `application/vnd$1$2.${options.mediaType.format}`))\n                .join(\",\");\n        }\n        if (options.mediaType.previews.length) {\n            const previewsFromAcceptHeader = headers.accept.match(/[\\w-]+(?=-preview)/g) || [];\n            headers.accept = previewsFromAcceptHeader\n                .concat(options.mediaType.previews)\n                .map((preview) => {\n                const format = options.mediaType.format\n                    ? `.${options.mediaType.format}`\n                    : \"+json\";\n                return `application/vnd.github.${preview}-preview${format}`;\n            })\n                .join(\",\");\n        }\n    }\n    // for GET/HEAD requests, set URL query parameters from remaining parameters\n    // for PATCH/POST/PUT/DELETE requests, set request body from remaining parameters\n    if ([\"GET\", \"HEAD\"].includes(method)) {\n        url = addQueryParameters(url, remainingParameters);\n    }\n    else {\n        if (\"data\" in remainingParameters) {\n            body = remainingParameters.data;\n        }\n        else {\n            if (Object.keys(remainingParameters).length) {\n                body = remainingParameters;\n            }\n            else {\n                headers[\"content-length\"] = 0;\n            }\n        }\n    }\n    // default content-type for JSON if body is set\n    if (!headers[\"content-type\"] && typeof body !== \"undefined\") {\n        headers[\"content-type\"] = \"application/json; charset=utf-8\";\n    }\n    // GitHub expects 'content-length: 0' header for PUT/PATCH requests without body.\n    // fetch does not allow to set `content-length` header, but we can set body to an empty string\n    if ([\"PATCH\", \"PUT\"].includes(method) && typeof body === \"undefined\") {\n        body = \"\";\n    }\n    // Only return body/request keys if present\n    return Object.assign({ method, url, headers }, typeof body !== \"undefined\" ? { body } : null, options.request ? { request: options.request } : null);\n}\n","import { merge } from \"./merge\";\nimport { parse } from \"./parse\";\nexport function endpointWithDefaults(defaults, route, options) {\n    return parse(merge(defaults, route, options));\n}\n","import { endpointWithDefaults } from \"./endpoint-with-defaults\";\nimport { merge } from \"./merge\";\nimport { parse } from \"./parse\";\nexport function withDefaults(oldDefaults, newDefaults) {\n    const DEFAULTS = merge(oldDefaults, newDefaults);\n    const endpoint = endpointWithDefaults.bind(null, DEFAULTS);\n    return Object.assign(endpoint, {\n        DEFAULTS,\n        defaults: withDefaults.bind(null, DEFAULTS),\n        merge: merge.bind(null, DEFAULTS),\n        parse,\n    });\n}\n","export const VERSION = \"6.0.12\";\n","import { getUserAgent } from \"universal-user-agent\";\nimport { VERSION } from \"./version\";\nconst userAgent = `octokit-endpoint.js/${VERSION} ${getUserAgent()}`;\n// DEFAULTS has all properties set that EndpointOptions has, except url.\n// So we use RequestParameters and add method as additional required property.\nexport const DEFAULTS = {\n    method: \"GET\",\n    baseUrl: \"https://api.github.com\",\n    headers: {\n        accept: \"application/vnd.github.v3+json\",\n        \"user-agent\": userAgent,\n    },\n    mediaType: {\n        format: \"\",\n        previews: [],\n    },\n};\n","import { withDefaults } from \"./with-defaults\";\nimport { DEFAULTS } from \"./defaults\";\nexport const endpoint = withDefaults(null, DEFAULTS);\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\";\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","[[[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\"]]","\"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","\"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\";\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","import Stream from 'stream';\nimport http from 'http';\nimport Url from 'url';\nimport whatwgUrl from 'whatwg-url';\nimport https from 'https';\nimport zlib from '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\nexport default fetch;\nexport { Headers, Request, Response, FetchError };\n","class Deprecation extends Error {\n  constructor(message) {\n    super(message); // Maintains proper stack trace (only available on V8)\n\n    /* istanbul ignore next */\n\n    if (Error.captureStackTrace) {\n      Error.captureStackTrace(this, this.constructor);\n    }\n\n    this.name = 'Deprecation';\n  }\n\n}\n\nexport { Deprecation };\n","// Returns a wrapper function that returns a wrapped callback\n// The wrapper function should do some stuff, and return a\n// presumably different callback function.\n// This makes sure that own properties are retained, so that\n// decorations and such are not lost along the way.\nmodule.exports = wrappy\nfunction wrappy (fn, cb) {\n  if (fn && cb) return wrappy(fn)(cb)\n\n  if (typeof fn !== 'function')\n    throw new TypeError('need wrapper function')\n\n  Object.keys(fn).forEach(function (k) {\n    wrapper[k] = fn[k]\n  })\n\n  return wrapper\n\n  function wrapper() {\n    var args = new Array(arguments.length)\n    for (var i = 0; i < args.length; i++) {\n      args[i] = arguments[i]\n    }\n    var ret = fn.apply(this, args)\n    var cb = args[args.length-1]\n    if (typeof ret === 'function' && ret !== cb) {\n      Object.keys(cb).forEach(function (k) {\n        ret[k] = cb[k]\n      })\n    }\n    return ret\n  }\n}\n","var wrappy = require('wrappy')\nmodule.exports = wrappy(once)\nmodule.exports.strict = wrappy(onceStrict)\n\nonce.proto = once(function () {\n  Object.defineProperty(Function.prototype, 'once', {\n    value: function () {\n      return once(this)\n    },\n    configurable: true\n  })\n\n  Object.defineProperty(Function.prototype, 'onceStrict', {\n    value: function () {\n      return onceStrict(this)\n    },\n    configurable: true\n  })\n})\n\nfunction once (fn) {\n  var f = function () {\n    if (f.called) return f.value\n    f.called = true\n    return f.value = fn.apply(this, arguments)\n  }\n  f.called = false\n  return f\n}\n\nfunction onceStrict (fn) {\n  var f = function () {\n    if (f.called)\n      throw new Error(f.onceError)\n    f.called = true\n    return f.value = fn.apply(this, arguments)\n  }\n  var name = fn.name || 'Function wrapped with `once`'\n  f.onceError = name + \" shouldn't be called more than once\"\n  f.called = false\n  return f\n}\n","import { Deprecation } from \"deprecation\";\nimport once from \"once\";\nconst logOnceCode = once((deprecation) => console.warn(deprecation));\nconst logOnceHeaders = once((deprecation) => console.warn(deprecation));\n/**\n * Error with extra properties to help with debugging\n */\nexport class RequestError extends Error {\n    constructor(message, statusCode, options) {\n        super(message);\n        // Maintains proper stack trace (only available on V8)\n        /* istanbul ignore next */\n        if (Error.captureStackTrace) {\n            Error.captureStackTrace(this, this.constructor);\n        }\n        this.name = \"HttpError\";\n        this.status = statusCode;\n        let headers;\n        if (\"headers\" in options && typeof options.headers !== \"undefined\") {\n            headers = options.headers;\n        }\n        if (\"response\" in options) {\n            this.response = options.response;\n            headers = options.response.headers;\n        }\n        // redact request credentials without mutating original request options\n        const requestCopy = Object.assign({}, options.request);\n        if (options.request.headers.authorization) {\n            requestCopy.headers = Object.assign({}, options.request.headers, {\n                authorization: options.request.headers.authorization.replace(/ .*$/, \" [REDACTED]\"),\n            });\n        }\n        requestCopy.url = requestCopy.url\n            // client_id & client_secret can be passed as URL query parameters to increase rate limit\n            // see https://developer.github.com/v3/#increasing-the-unauthenticated-rate-limit-for-oauth-applications\n            .replace(/\\bclient_secret=\\w+/g, \"client_secret=[REDACTED]\")\n            // OAuth tokens can be passed as URL query parameters, although it is not recommended\n            // see https://developer.github.com/v3/#oauth2-token-sent-in-a-header\n            .replace(/\\baccess_token=\\w+/g, \"access_token=[REDACTED]\");\n        this.request = requestCopy;\n        // deprecations\n        Object.defineProperty(this, \"code\", {\n            get() {\n                logOnceCode(new Deprecation(\"[@octokit/request-error] `error.code` is deprecated, use `error.status`.\"));\n                return statusCode;\n            },\n        });\n        Object.defineProperty(this, \"headers\", {\n            get() {\n                logOnceHeaders(new Deprecation(\"[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`.\"));\n                return headers || {};\n            },\n        });\n    }\n}\n","export const VERSION = \"5.6.3\";\n","export default function getBufferResponse(response) {\n    return response.arrayBuffer();\n}\n","import { isPlainObject } from \"is-plain-object\";\nimport nodeFetch from \"node-fetch\";\nimport { RequestError } from \"@octokit/request-error\";\nimport getBuffer from \"./get-buffer-response\";\nexport default function fetchWrapper(requestOptions) {\n    const log = requestOptions.request && requestOptions.request.log\n        ? requestOptions.request.log\n        : console;\n    if (isPlainObject(requestOptions.body) ||\n        Array.isArray(requestOptions.body)) {\n        requestOptions.body = JSON.stringify(requestOptions.body);\n    }\n    let headers = {};\n    let status;\n    let url;\n    const fetch = (requestOptions.request && requestOptions.request.fetch) || nodeFetch;\n    return fetch(requestOptions.url, Object.assign({\n        method: requestOptions.method,\n        body: requestOptions.body,\n        headers: requestOptions.headers,\n        redirect: requestOptions.redirect,\n    }, \n    // `requestOptions.request.agent` type is incompatible\n    // see https://github.com/octokit/types.ts/pull/264\n    requestOptions.request))\n        .then(async (response) => {\n        url = response.url;\n        status = response.status;\n        for (const keyAndValue of response.headers) {\n            headers[keyAndValue[0]] = keyAndValue[1];\n        }\n        if (\"deprecation\" in headers) {\n            const matches = headers.link && headers.link.match(/<([^>]+)>; rel=\"deprecation\"/);\n            const deprecationLink = matches && matches.pop();\n            log.warn(`[@octokit/request] \"${requestOptions.method} ${requestOptions.url}\" is deprecated. It is scheduled to be removed on ${headers.sunset}${deprecationLink ? `. See ${deprecationLink}` : \"\"}`);\n        }\n        if (status === 204 || status === 205) {\n            return;\n        }\n        // GitHub API returns 200 for HEAD requests\n        if (requestOptions.method === \"HEAD\") {\n            if (status < 400) {\n                return;\n            }\n            throw new RequestError(response.statusText, status, {\n                response: {\n                    url,\n                    status,\n                    headers,\n                    data: undefined,\n                },\n                request: requestOptions,\n            });\n        }\n        if (status === 304) {\n            throw new RequestError(\"Not modified\", status, {\n                response: {\n                    url,\n                    status,\n                    headers,\n                    data: await getResponseData(response),\n                },\n                request: requestOptions,\n            });\n        }\n        if (status >= 400) {\n            const data = await getResponseData(response);\n            const error = new RequestError(toErrorMessage(data), status, {\n                response: {\n                    url,\n                    status,\n                    headers,\n                    data,\n                },\n                request: requestOptions,\n            });\n            throw error;\n        }\n        return getResponseData(response);\n    })\n        .then((data) => {\n        return {\n            status,\n            url,\n            headers,\n            data,\n        };\n    })\n        .catch((error) => {\n        if (error instanceof RequestError)\n            throw error;\n        throw new RequestError(error.message, 500, {\n            request: requestOptions,\n        });\n    });\n}\nasync function getResponseData(response) {\n    const contentType = response.headers.get(\"content-type\");\n    if (/application\\/json/.test(contentType)) {\n        return response.json();\n    }\n    if (!contentType || /^text\\/|charset=utf-8$/.test(contentType)) {\n        return response.text();\n    }\n    return getBuffer(response);\n}\nfunction toErrorMessage(data) {\n    if (typeof data === \"string\")\n        return data;\n    // istanbul ignore else - just in case\n    if (\"message\" in data) {\n        if (Array.isArray(data.errors)) {\n            return `${data.message}: ${data.errors.map(JSON.stringify).join(\", \")}`;\n        }\n        return data.message;\n    }\n    // istanbul ignore next - just in case\n    return `Unknown error: ${JSON.stringify(data)}`;\n}\n","import fetchWrapper from \"./fetch-wrapper\";\nexport default function withDefaults(oldEndpoint, newDefaults) {\n    const endpoint = oldEndpoint.defaults(newDefaults);\n    const newApi = function (route, parameters) {\n        const endpointOptions = endpoint.merge(route, parameters);\n        if (!endpointOptions.request || !endpointOptions.request.hook) {\n            return fetchWrapper(endpoint.parse(endpointOptions));\n        }\n        const request = (route, parameters) => {\n            return fetchWrapper(endpoint.parse(endpoint.merge(route, parameters)));\n        };\n        Object.assign(request, {\n            endpoint,\n            defaults: withDefaults.bind(null, endpoint),\n        });\n        return endpointOptions.request.hook(request, endpointOptions);\n    };\n    return Object.assign(newApi, {\n        endpoint,\n        defaults: withDefaults.bind(null, endpoint),\n    });\n}\n","import { endpoint } from \"@octokit/endpoint\";\nimport { getUserAgent } from \"universal-user-agent\";\nimport { VERSION } from \"./version\";\nimport withDefaults from \"./with-defaults\";\nexport const request = withDefaults(endpoint, {\n    headers: {\n        \"user-agent\": `octokit-request.js/${VERSION} ${getUserAgent()}`,\n    },\n});\n","export const VERSION = \"4.8.0\";\n","function _buildMessageForResponseErrors(data) {\n    return (`Request failed due to following response errors:\\n` +\n        data.errors.map((e) => ` - ${e.message}`).join(\"\\n\"));\n}\nexport class GraphqlResponseError extends Error {\n    constructor(request, headers, response) {\n        super(_buildMessageForResponseErrors(response));\n        this.request = request;\n        this.headers = headers;\n        this.response = response;\n        this.name = \"GraphqlResponseError\";\n        // Expose the errors and response data in their shorthand properties.\n        this.errors = response.errors;\n        this.data = response.data;\n        // Maintains proper stack trace (only available on V8)\n        /* istanbul ignore next */\n        if (Error.captureStackTrace) {\n            Error.captureStackTrace(this, this.constructor);\n        }\n    }\n}\n","import { GraphqlResponseError } from \"./error\";\nconst NON_VARIABLE_OPTIONS = [\n    \"method\",\n    \"baseUrl\",\n    \"url\",\n    \"headers\",\n    \"request\",\n    \"query\",\n    \"mediaType\",\n];\nconst FORBIDDEN_VARIABLE_OPTIONS = [\"query\", \"method\", \"url\"];\nconst GHES_V3_SUFFIX_REGEX = /\\/api\\/v3\\/?$/;\nexport function graphql(request, query, options) {\n    if (options) {\n        if (typeof query === \"string\" && \"query\" in options) {\n            return Promise.reject(new Error(`[@octokit/graphql] \"query\" cannot be used as variable name`));\n        }\n        for (const key in options) {\n            if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key))\n                continue;\n            return Promise.reject(new Error(`[@octokit/graphql] \"${key}\" cannot be used as variable name`));\n        }\n    }\n    const parsedOptions = typeof query === \"string\" ? Object.assign({ query }, options) : query;\n    const requestOptions = Object.keys(parsedOptions).reduce((result, key) => {\n        if (NON_VARIABLE_OPTIONS.includes(key)) {\n            result[key] = parsedOptions[key];\n            return result;\n        }\n        if (!result.variables) {\n            result.variables = {};\n        }\n        result.variables[key] = parsedOptions[key];\n        return result;\n    }, {});\n    // workaround for GitHub Enterprise baseUrl set with /api/v3 suffix\n    // https://github.com/octokit/auth-app.js/issues/111#issuecomment-657610451\n    const baseUrl = parsedOptions.baseUrl || request.endpoint.DEFAULTS.baseUrl;\n    if (GHES_V3_SUFFIX_REGEX.test(baseUrl)) {\n        requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, \"/api/graphql\");\n    }\n    return request(requestOptions).then((response) => {\n        if (response.data.errors) {\n            const headers = {};\n            for (const key of Object.keys(response.headers)) {\n                headers[key] = response.headers[key];\n            }\n            throw new GraphqlResponseError(requestOptions, headers, response.data);\n        }\n        return response.data.data;\n    });\n}\n","import { request as Request } from \"@octokit/request\";\nimport { graphql } from \"./graphql\";\nexport function withDefaults(request, newDefaults) {\n    const newRequest = request.defaults(newDefaults);\n    const newApi = (query, options) => {\n        return graphql(newRequest, query, options);\n    };\n    return Object.assign(newApi, {\n        defaults: withDefaults.bind(null, newRequest),\n        endpoint: Request.endpoint,\n    });\n}\n","import { request } from \"@octokit/request\";\nimport { getUserAgent } from \"universal-user-agent\";\nimport { VERSION } from \"./version\";\nimport { withDefaults } from \"./with-defaults\";\nexport const graphql = withDefaults(request, {\n    headers: {\n        \"user-agent\": `octokit-graphql.js/${VERSION} ${getUserAgent()}`,\n    },\n    method: \"POST\",\n    url: \"/graphql\",\n});\nexport { GraphqlResponseError } from \"./error\";\nexport function withCustomRequest(customRequest) {\n    return withDefaults(customRequest, {\n        method: \"POST\",\n        url: \"/graphql\",\n    });\n}\n","const REGEX_IS_INSTALLATION_LEGACY = /^v1\\./;\nconst REGEX_IS_INSTALLATION = /^ghs_/;\nconst REGEX_IS_USER_TO_SERVER = /^ghu_/;\nexport async function auth(token) {\n    const isApp = token.split(/\\./).length === 3;\n    const isInstallation = REGEX_IS_INSTALLATION_LEGACY.test(token) ||\n        REGEX_IS_INSTALLATION.test(token);\n    const isUserToServer = REGEX_IS_USER_TO_SERVER.test(token);\n    const tokenType = isApp\n        ? \"app\"\n        : isInstallation\n            ? \"installation\"\n            : isUserToServer\n                ? \"user-to-server\"\n                : \"oauth\";\n    return {\n        type: \"token\",\n        token: token,\n        tokenType,\n    };\n}\n","/**\n * Prefix token for usage in the Authorization header\n *\n * @param token OAuth token or JSON Web Token\n */\nexport function withAuthorizationPrefix(token) {\n    if (token.split(/\\./).length === 3) {\n        return `bearer ${token}`;\n    }\n    return `token ${token}`;\n}\n","import { withAuthorizationPrefix } from \"./with-authorization-prefix\";\nexport async function hook(token, request, route, parameters) {\n    const endpoint = request.endpoint.merge(route, parameters);\n    endpoint.headers.authorization = withAuthorizationPrefix(token);\n    return request(endpoint);\n}\n","import { auth } from \"./auth\";\nimport { hook } from \"./hook\";\nexport const createTokenAuth = function createTokenAuth(token) {\n    if (!token) {\n        throw new Error(\"[@octokit/auth-token] No token passed to createTokenAuth\");\n    }\n    if (typeof token !== \"string\") {\n        throw new Error(\"[@octokit/auth-token] Token passed to createTokenAuth is not a string\");\n    }\n    token = token.replace(/^(token|bearer) +/i, \"\");\n    return Object.assign(auth.bind(null, token), {\n        hook: hook.bind(null, token),\n    });\n};\n","export const VERSION = \"3.6.0\";\n","import { getUserAgent } from \"universal-user-agent\";\nimport { Collection } from \"before-after-hook\";\nimport { request } from \"@octokit/request\";\nimport { withCustomRequest } from \"@octokit/graphql\";\nimport { createTokenAuth } from \"@octokit/auth-token\";\nimport { VERSION } from \"./version\";\nexport class Octokit {\n    constructor(options = {}) {\n        const hook = new Collection();\n        const requestDefaults = {\n            baseUrl: request.endpoint.DEFAULTS.baseUrl,\n            headers: {},\n            request: Object.assign({}, options.request, {\n                // @ts-ignore internal usage only, no need to type\n                hook: hook.bind(null, \"request\"),\n            }),\n            mediaType: {\n                previews: [],\n                format: \"\",\n            },\n        };\n        // prepend default user agent with `options.userAgent` if set\n        requestDefaults.headers[\"user-agent\"] = [\n            options.userAgent,\n            `octokit-core.js/${VERSION} ${getUserAgent()}`,\n        ]\n            .filter(Boolean)\n            .join(\" \");\n        if (options.baseUrl) {\n            requestDefaults.baseUrl = options.baseUrl;\n        }\n        if (options.previews) {\n            requestDefaults.mediaType.previews = options.previews;\n        }\n        if (options.timeZone) {\n            requestDefaults.headers[\"time-zone\"] = options.timeZone;\n        }\n        this.request = request.defaults(requestDefaults);\n        this.graphql = withCustomRequest(this.request).defaults(requestDefaults);\n        this.log = Object.assign({\n            debug: () => { },\n            info: () => { },\n            warn: console.warn.bind(console),\n            error: console.error.bind(console),\n        }, options.log);\n        this.hook = hook;\n        // (1) If neither `options.authStrategy` nor `options.auth` are set, the `octokit` instance\n        //     is unauthenticated. The `this.auth()` method is a no-op and no request hook is registered.\n        // (2) If only `options.auth` is set, use the default token authentication strategy.\n        // (3) If `options.authStrategy` is set then use it and pass in `options.auth`. Always pass own request as many strategies accept a custom request instance.\n        // TODO: type `options.auth` based on `options.authStrategy`.\n        if (!options.authStrategy) {\n            if (!options.auth) {\n                // (1)\n                this.auth = async () => ({\n                    type: \"unauthenticated\",\n                });\n            }\n            else {\n                // (2)\n                const auth = createTokenAuth(options.auth);\n                // @ts-ignore  ¯\\_(ツ)_/¯\n                hook.wrap(\"request\", auth.hook);\n                this.auth = auth;\n            }\n        }\n        else {\n            const { authStrategy, ...otherOptions } = options;\n            const auth = authStrategy(Object.assign({\n                request: this.request,\n                log: this.log,\n                // we pass the current octokit instance as well as its constructor options\n                // to allow for authentication strategies that return a new octokit instance\n                // that shares the same internal state as the current one. The original\n                // requirement for this was the \"event-octokit\" authentication strategy\n                // of https://github.com/probot/octokit-auth-probot.\n                octokit: this,\n                octokitOptions: otherOptions,\n            }, options.auth));\n            // @ts-ignore  ¯\\_(ツ)_/¯\n            hook.wrap(\"request\", auth.hook);\n            this.auth = auth;\n        }\n        // apply plugins\n        // https://stackoverflow.com/a/16345172\n        const classConstructor = this.constructor;\n        classConstructor.plugins.forEach((plugin) => {\n            Object.assign(this, plugin(this, options));\n        });\n    }\n    static defaults(defaults) {\n        const OctokitWithDefaults = class extends this {\n            constructor(...args) {\n                const options = args[0] || {};\n                if (typeof defaults === \"function\") {\n                    super(defaults(options));\n                    return;\n                }\n                super(Object.assign({}, defaults, options, options.userAgent && defaults.userAgent\n                    ? {\n                        userAgent: `${options.userAgent} ${defaults.userAgent}`,\n                    }\n                    : null));\n            }\n        };\n        return OctokitWithDefaults;\n    }\n    /**\n     * Attach a plugin (or many) to your Octokit instance.\n     *\n     * @example\n     * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...)\n     */\n    static plugin(...newPlugins) {\n        var _a;\n        const currentPlugins = this.plugins;\n        const NewOctokit = (_a = class extends this {\n            },\n            _a.plugins = currentPlugins.concat(newPlugins.filter((plugin) => !currentPlugins.includes(plugin))),\n            _a);\n        return NewOctokit;\n    }\n}\nOctokit.VERSION = VERSION;\nOctokit.plugins = [];\n","const Endpoints = {\n    actions: {\n        addCustomLabelsToSelfHostedRunnerForOrg: [\n            \"POST /orgs/{org}/actions/runners/{runner_id}/labels\",\n        ],\n        addCustomLabelsToSelfHostedRunnerForRepo: [\n            \"POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels\",\n        ],\n        addSelectedRepoToOrgSecret: [\n            \"PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}\",\n        ],\n        approveWorkflowRun: [\n            \"POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve\",\n        ],\n        cancelWorkflowRun: [\n            \"POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel\",\n        ],\n        createOrUpdateEnvironmentSecret: [\n            \"PUT /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}\",\n        ],\n        createOrUpdateOrgSecret: [\"PUT /orgs/{org}/actions/secrets/{secret_name}\"],\n        createOrUpdateRepoSecret: [\n            \"PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}\",\n        ],\n        createRegistrationTokenForOrg: [\n            \"POST /orgs/{org}/actions/runners/registration-token\",\n        ],\n        createRegistrationTokenForRepo: [\n            \"POST /repos/{owner}/{repo}/actions/runners/registration-token\",\n        ],\n        createRemoveTokenForOrg: [\"POST /orgs/{org}/actions/runners/remove-token\"],\n        createRemoveTokenForRepo: [\n            \"POST /repos/{owner}/{repo}/actions/runners/remove-token\",\n        ],\n        createWorkflowDispatch: [\n            \"POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches\",\n        ],\n        deleteActionsCacheById: [\n            \"DELETE /repos/{owner}/{repo}/actions/caches/{cache_id}\",\n        ],\n        deleteActionsCacheByKey: [\n            \"DELETE /repos/{owner}/{repo}/actions/caches{?key,ref}\",\n        ],\n        deleteArtifact: [\n            \"DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}\",\n        ],\n        deleteEnvironmentSecret: [\n            \"DELETE /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}\",\n        ],\n        deleteOrgSecret: [\"DELETE /orgs/{org}/actions/secrets/{secret_name}\"],\n        deleteRepoSecret: [\n            \"DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}\",\n        ],\n        deleteSelfHostedRunnerFromOrg: [\n            \"DELETE /orgs/{org}/actions/runners/{runner_id}\",\n        ],\n        deleteSelfHostedRunnerFromRepo: [\n            \"DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}\",\n        ],\n        deleteWorkflowRun: [\"DELETE /repos/{owner}/{repo}/actions/runs/{run_id}\"],\n        deleteWorkflowRunLogs: [\n            \"DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs\",\n        ],\n        disableSelectedRepositoryGithubActionsOrganization: [\n            \"DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}\",\n        ],\n        disableWorkflow: [\n            \"PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable\",\n        ],\n        downloadArtifact: [\n            \"GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}\",\n        ],\n        downloadJobLogsForWorkflowRun: [\n            \"GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs\",\n        ],\n        downloadWorkflowRunAttemptLogs: [\n            \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs\",\n        ],\n        downloadWorkflowRunLogs: [\n            \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs\",\n        ],\n        enableSelectedRepositoryGithubActionsOrganization: [\n            \"PUT /orgs/{org}/actions/permissions/repositories/{repository_id}\",\n        ],\n        enableWorkflow: [\n            \"PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable\",\n        ],\n        getActionsCacheList: [\"GET /repos/{owner}/{repo}/actions/caches\"],\n        getActionsCacheUsage: [\"GET /repos/{owner}/{repo}/actions/cache/usage\"],\n        getActionsCacheUsageByRepoForOrg: [\n            \"GET /orgs/{org}/actions/cache/usage-by-repository\",\n        ],\n        getActionsCacheUsageForEnterprise: [\n            \"GET /enterprises/{enterprise}/actions/cache/usage\",\n        ],\n        getActionsCacheUsageForOrg: [\"GET /orgs/{org}/actions/cache/usage\"],\n        getAllowedActionsOrganization: [\n            \"GET /orgs/{org}/actions/permissions/selected-actions\",\n        ],\n        getAllowedActionsRepository: [\n            \"GET /repos/{owner}/{repo}/actions/permissions/selected-actions\",\n        ],\n        getArtifact: [\"GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}\"],\n        getEnvironmentPublicKey: [\n            \"GET /repositories/{repository_id}/environments/{environment_name}/secrets/public-key\",\n        ],\n        getEnvironmentSecret: [\n            \"GET /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}\",\n        ],\n        getGithubActionsDefaultWorkflowPermissionsEnterprise: [\n            \"GET /enterprises/{enterprise}/actions/permissions/workflow\",\n        ],\n        getGithubActionsDefaultWorkflowPermissionsOrganization: [\n            \"GET /orgs/{org}/actions/permissions/workflow\",\n        ],\n        getGithubActionsDefaultWorkflowPermissionsRepository: [\n            \"GET /repos/{owner}/{repo}/actions/permissions/workflow\",\n        ],\n        getGithubActionsPermissionsOrganization: [\n            \"GET /orgs/{org}/actions/permissions\",\n        ],\n        getGithubActionsPermissionsRepository: [\n            \"GET /repos/{owner}/{repo}/actions/permissions\",\n        ],\n        getJobForWorkflowRun: [\"GET /repos/{owner}/{repo}/actions/jobs/{job_id}\"],\n        getOrgPublicKey: [\"GET /orgs/{org}/actions/secrets/public-key\"],\n        getOrgSecret: [\"GET /orgs/{org}/actions/secrets/{secret_name}\"],\n        getPendingDeploymentsForRun: [\n            \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments\",\n        ],\n        getRepoPermissions: [\n            \"GET /repos/{owner}/{repo}/actions/permissions\",\n            {},\n            { renamed: [\"actions\", \"getGithubActionsPermissionsRepository\"] },\n        ],\n        getRepoPublicKey: [\"GET /repos/{owner}/{repo}/actions/secrets/public-key\"],\n        getRepoSecret: [\"GET /repos/{owner}/{repo}/actions/secrets/{secret_name}\"],\n        getReviewsForRun: [\n            \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals\",\n        ],\n        getSelfHostedRunnerForOrg: [\"GET /orgs/{org}/actions/runners/{runner_id}\"],\n        getSelfHostedRunnerForRepo: [\n            \"GET /repos/{owner}/{repo}/actions/runners/{runner_id}\",\n        ],\n        getWorkflow: [\"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}\"],\n        getWorkflowAccessToRepository: [\n            \"GET /repos/{owner}/{repo}/actions/permissions/access\",\n        ],\n        getWorkflowRun: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}\"],\n        getWorkflowRunAttempt: [\n            \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}\",\n        ],\n        getWorkflowRunUsage: [\n            \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing\",\n        ],\n        getWorkflowUsage: [\n            \"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing\",\n        ],\n        listArtifactsForRepo: [\"GET /repos/{owner}/{repo}/actions/artifacts\"],\n        listEnvironmentSecrets: [\n            \"GET /repositories/{repository_id}/environments/{environment_name}/secrets\",\n        ],\n        listJobsForWorkflowRun: [\n            \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs\",\n        ],\n        listJobsForWorkflowRunAttempt: [\n            \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs\",\n        ],\n        listLabelsForSelfHostedRunnerForOrg: [\n            \"GET /orgs/{org}/actions/runners/{runner_id}/labels\",\n        ],\n        listLabelsForSelfHostedRunnerForRepo: [\n            \"GET /repos/{owner}/{repo}/actions/runners/{runner_id}/labels\",\n        ],\n        listOrgSecrets: [\"GET /orgs/{org}/actions/secrets\"],\n        listRepoSecrets: [\"GET /repos/{owner}/{repo}/actions/secrets\"],\n        listRepoWorkflows: [\"GET /repos/{owner}/{repo}/actions/workflows\"],\n        listRunnerApplicationsForOrg: [\"GET /orgs/{org}/actions/runners/downloads\"],\n        listRunnerApplicationsForRepo: [\n            \"GET /repos/{owner}/{repo}/actions/runners/downloads\",\n        ],\n        listSelectedReposForOrgSecret: [\n            \"GET /orgs/{org}/actions/secrets/{secret_name}/repositories\",\n        ],\n        listSelectedRepositoriesEnabledGithubActionsOrganization: [\n            \"GET /orgs/{org}/actions/permissions/repositories\",\n        ],\n        listSelfHostedRunnersForOrg: [\"GET /orgs/{org}/actions/runners\"],\n        listSelfHostedRunnersForRepo: [\"GET /repos/{owner}/{repo}/actions/runners\"],\n        listWorkflowRunArtifacts: [\n            \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts\",\n        ],\n        listWorkflowRuns: [\n            \"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs\",\n        ],\n        listWorkflowRunsForRepo: [\"GET /repos/{owner}/{repo}/actions/runs\"],\n        reRunJobForWorkflowRun: [\n            \"POST /repos/{owner}/{repo}/actions/jobs/{job_id}/rerun\",\n        ],\n        reRunWorkflow: [\"POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun\"],\n        reRunWorkflowFailedJobs: [\n            \"POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs\",\n        ],\n        removeAllCustomLabelsFromSelfHostedRunnerForOrg: [\n            \"DELETE /orgs/{org}/actions/runners/{runner_id}/labels\",\n        ],\n        removeAllCustomLabelsFromSelfHostedRunnerForRepo: [\n            \"DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels\",\n        ],\n        removeCustomLabelFromSelfHostedRunnerForOrg: [\n            \"DELETE /orgs/{org}/actions/runners/{runner_id}/labels/{name}\",\n        ],\n        removeCustomLabelFromSelfHostedRunnerForRepo: [\n            \"DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}\",\n        ],\n        removeSelectedRepoFromOrgSecret: [\n            \"DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}\",\n        ],\n        reviewPendingDeploymentsForRun: [\n            \"POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments\",\n        ],\n        setAllowedActionsOrganization: [\n            \"PUT /orgs/{org}/actions/permissions/selected-actions\",\n        ],\n        setAllowedActionsRepository: [\n            \"PUT /repos/{owner}/{repo}/actions/permissions/selected-actions\",\n        ],\n        setCustomLabelsForSelfHostedRunnerForOrg: [\n            \"PUT /orgs/{org}/actions/runners/{runner_id}/labels\",\n        ],\n        setCustomLabelsForSelfHostedRunnerForRepo: [\n            \"PUT /repos/{owner}/{repo}/actions/runners/{runner_id}/labels\",\n        ],\n        setGithubActionsDefaultWorkflowPermissionsEnterprise: [\n            \"PUT /enterprises/{enterprise}/actions/permissions/workflow\",\n        ],\n        setGithubActionsDefaultWorkflowPermissionsOrganization: [\n            \"PUT /orgs/{org}/actions/permissions/workflow\",\n        ],\n        setGithubActionsDefaultWorkflowPermissionsRepository: [\n            \"PUT /repos/{owner}/{repo}/actions/permissions/workflow\",\n        ],\n        setGithubActionsPermissionsOrganization: [\n            \"PUT /orgs/{org}/actions/permissions\",\n        ],\n        setGithubActionsPermissionsRepository: [\n            \"PUT /repos/{owner}/{repo}/actions/permissions\",\n        ],\n        setSelectedReposForOrgSecret: [\n            \"PUT /orgs/{org}/actions/secrets/{secret_name}/repositories\",\n        ],\n        setSelectedRepositoriesEnabledGithubActionsOrganization: [\n            \"PUT /orgs/{org}/actions/permissions/repositories\",\n        ],\n        setWorkflowAccessToRepository: [\n            \"PUT /repos/{owner}/{repo}/actions/permissions/access\",\n        ],\n    },\n    activity: {\n        checkRepoIsStarredByAuthenticatedUser: [\"GET /user/starred/{owner}/{repo}\"],\n        deleteRepoSubscription: [\"DELETE /repos/{owner}/{repo}/subscription\"],\n        deleteThreadSubscription: [\n            \"DELETE /notifications/threads/{thread_id}/subscription\",\n        ],\n        getFeeds: [\"GET /feeds\"],\n        getRepoSubscription: [\"GET /repos/{owner}/{repo}/subscription\"],\n        getThread: [\"GET /notifications/threads/{thread_id}\"],\n        getThreadSubscriptionForAuthenticatedUser: [\n            \"GET /notifications/threads/{thread_id}/subscription\",\n        ],\n        listEventsForAuthenticatedUser: [\"GET /users/{username}/events\"],\n        listNotificationsForAuthenticatedUser: [\"GET /notifications\"],\n        listOrgEventsForAuthenticatedUser: [\n            \"GET /users/{username}/events/orgs/{org}\",\n        ],\n        listPublicEvents: [\"GET /events\"],\n        listPublicEventsForRepoNetwork: [\"GET /networks/{owner}/{repo}/events\"],\n        listPublicEventsForUser: [\"GET /users/{username}/events/public\"],\n        listPublicOrgEvents: [\"GET /orgs/{org}/events\"],\n        listReceivedEventsForUser: [\"GET /users/{username}/received_events\"],\n        listReceivedPublicEventsForUser: [\n            \"GET /users/{username}/received_events/public\",\n        ],\n        listRepoEvents: [\"GET /repos/{owner}/{repo}/events\"],\n        listRepoNotificationsForAuthenticatedUser: [\n            \"GET /repos/{owner}/{repo}/notifications\",\n        ],\n        listReposStarredByAuthenticatedUser: [\"GET /user/starred\"],\n        listReposStarredByUser: [\"GET /users/{username}/starred\"],\n        listReposWatchedByUser: [\"GET /users/{username}/subscriptions\"],\n        listStargazersForRepo: [\"GET /repos/{owner}/{repo}/stargazers\"],\n        listWatchedReposForAuthenticatedUser: [\"GET /user/subscriptions\"],\n        listWatchersForRepo: [\"GET /repos/{owner}/{repo}/subscribers\"],\n        markNotificationsAsRead: [\"PUT /notifications\"],\n        markRepoNotificationsAsRead: [\"PUT /repos/{owner}/{repo}/notifications\"],\n        markThreadAsRead: [\"PATCH /notifications/threads/{thread_id}\"],\n        setRepoSubscription: [\"PUT /repos/{owner}/{repo}/subscription\"],\n        setThreadSubscription: [\n            \"PUT /notifications/threads/{thread_id}/subscription\",\n        ],\n        starRepoForAuthenticatedUser: [\"PUT /user/starred/{owner}/{repo}\"],\n        unstarRepoForAuthenticatedUser: [\"DELETE /user/starred/{owner}/{repo}\"],\n    },\n    apps: {\n        addRepoToInstallation: [\n            \"PUT /user/installations/{installation_id}/repositories/{repository_id}\",\n            {},\n            { renamed: [\"apps\", \"addRepoToInstallationForAuthenticatedUser\"] },\n        ],\n        addRepoToInstallationForAuthenticatedUser: [\n            \"PUT /user/installations/{installation_id}/repositories/{repository_id}\",\n        ],\n        checkToken: [\"POST /applications/{client_id}/token\"],\n        createFromManifest: [\"POST /app-manifests/{code}/conversions\"],\n        createInstallationAccessToken: [\n            \"POST /app/installations/{installation_id}/access_tokens\",\n        ],\n        deleteAuthorization: [\"DELETE /applications/{client_id}/grant\"],\n        deleteInstallation: [\"DELETE /app/installations/{installation_id}\"],\n        deleteToken: [\"DELETE /applications/{client_id}/token\"],\n        getAuthenticated: [\"GET /app\"],\n        getBySlug: [\"GET /apps/{app_slug}\"],\n        getInstallation: [\"GET /app/installations/{installation_id}\"],\n        getOrgInstallation: [\"GET /orgs/{org}/installation\"],\n        getRepoInstallation: [\"GET /repos/{owner}/{repo}/installation\"],\n        getSubscriptionPlanForAccount: [\n            \"GET /marketplace_listing/accounts/{account_id}\",\n        ],\n        getSubscriptionPlanForAccountStubbed: [\n            \"GET /marketplace_listing/stubbed/accounts/{account_id}\",\n        ],\n        getUserInstallation: [\"GET /users/{username}/installation\"],\n        getWebhookConfigForApp: [\"GET /app/hook/config\"],\n        getWebhookDelivery: [\"GET /app/hook/deliveries/{delivery_id}\"],\n        listAccountsForPlan: [\"GET /marketplace_listing/plans/{plan_id}/accounts\"],\n        listAccountsForPlanStubbed: [\n            \"GET /marketplace_listing/stubbed/plans/{plan_id}/accounts\",\n        ],\n        listInstallationReposForAuthenticatedUser: [\n            \"GET /user/installations/{installation_id}/repositories\",\n        ],\n        listInstallations: [\"GET /app/installations\"],\n        listInstallationsForAuthenticatedUser: [\"GET /user/installations\"],\n        listPlans: [\"GET /marketplace_listing/plans\"],\n        listPlansStubbed: [\"GET /marketplace_listing/stubbed/plans\"],\n        listReposAccessibleToInstallation: [\"GET /installation/repositories\"],\n        listSubscriptionsForAuthenticatedUser: [\"GET /user/marketplace_purchases\"],\n        listSubscriptionsForAuthenticatedUserStubbed: [\n            \"GET /user/marketplace_purchases/stubbed\",\n        ],\n        listWebhookDeliveries: [\"GET /app/hook/deliveries\"],\n        redeliverWebhookDelivery: [\n            \"POST /app/hook/deliveries/{delivery_id}/attempts\",\n        ],\n        removeRepoFromInstallation: [\n            \"DELETE /user/installations/{installation_id}/repositories/{repository_id}\",\n            {},\n            { renamed: [\"apps\", \"removeRepoFromInstallationForAuthenticatedUser\"] },\n        ],\n        removeRepoFromInstallationForAuthenticatedUser: [\n            \"DELETE /user/installations/{installation_id}/repositories/{repository_id}\",\n        ],\n        resetToken: [\"PATCH /applications/{client_id}/token\"],\n        revokeInstallationAccessToken: [\"DELETE /installation/token\"],\n        scopeToken: [\"POST /applications/{client_id}/token/scoped\"],\n        suspendInstallation: [\"PUT /app/installations/{installation_id}/suspended\"],\n        unsuspendInstallation: [\n            \"DELETE /app/installations/{installation_id}/suspended\",\n        ],\n        updateWebhookConfigForApp: [\"PATCH /app/hook/config\"],\n    },\n    billing: {\n        getGithubActionsBillingOrg: [\"GET /orgs/{org}/settings/billing/actions\"],\n        getGithubActionsBillingUser: [\n            \"GET /users/{username}/settings/billing/actions\",\n        ],\n        getGithubAdvancedSecurityBillingGhe: [\n            \"GET /enterprises/{enterprise}/settings/billing/advanced-security\",\n        ],\n        getGithubAdvancedSecurityBillingOrg: [\n            \"GET /orgs/{org}/settings/billing/advanced-security\",\n        ],\n        getGithubPackagesBillingOrg: [\"GET /orgs/{org}/settings/billing/packages\"],\n        getGithubPackagesBillingUser: [\n            \"GET /users/{username}/settings/billing/packages\",\n        ],\n        getSharedStorageBillingOrg: [\n            \"GET /orgs/{org}/settings/billing/shared-storage\",\n        ],\n        getSharedStorageBillingUser: [\n            \"GET /users/{username}/settings/billing/shared-storage\",\n        ],\n    },\n    checks: {\n        create: [\"POST /repos/{owner}/{repo}/check-runs\"],\n        createSuite: [\"POST /repos/{owner}/{repo}/check-suites\"],\n        get: [\"GET /repos/{owner}/{repo}/check-runs/{check_run_id}\"],\n        getSuite: [\"GET /repos/{owner}/{repo}/check-suites/{check_suite_id}\"],\n        listAnnotations: [\n            \"GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations\",\n        ],\n        listForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/check-runs\"],\n        listForSuite: [\n            \"GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs\",\n        ],\n        listSuitesForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/check-suites\"],\n        rerequestRun: [\n            \"POST /repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest\",\n        ],\n        rerequestSuite: [\n            \"POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest\",\n        ],\n        setSuitesPreferences: [\n            \"PATCH /repos/{owner}/{repo}/check-suites/preferences\",\n        ],\n        update: [\"PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}\"],\n    },\n    codeScanning: {\n        deleteAnalysis: [\n            \"DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}\",\n        ],\n        getAlert: [\n            \"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}\",\n            {},\n            { renamedParameters: { alert_id: \"alert_number\" } },\n        ],\n        getAnalysis: [\n            \"GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}\",\n        ],\n        getSarif: [\"GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}\"],\n        listAlertInstances: [\n            \"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances\",\n        ],\n        listAlertsForOrg: [\"GET /orgs/{org}/code-scanning/alerts\"],\n        listAlertsForRepo: [\"GET /repos/{owner}/{repo}/code-scanning/alerts\"],\n        listAlertsInstances: [\n            \"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances\",\n            {},\n            { renamed: [\"codeScanning\", \"listAlertInstances\"] },\n        ],\n        listRecentAnalyses: [\"GET /repos/{owner}/{repo}/code-scanning/analyses\"],\n        updateAlert: [\n            \"PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}\",\n        ],\n        uploadSarif: [\"POST /repos/{owner}/{repo}/code-scanning/sarifs\"],\n    },\n    codesOfConduct: {\n        getAllCodesOfConduct: [\"GET /codes_of_conduct\"],\n        getConductCode: [\"GET /codes_of_conduct/{key}\"],\n    },\n    codespaces: {\n        addRepositoryForSecretForAuthenticatedUser: [\n            \"PUT /user/codespaces/secrets/{secret_name}/repositories/{repository_id}\",\n        ],\n        codespaceMachinesForAuthenticatedUser: [\n            \"GET /user/codespaces/{codespace_name}/machines\",\n        ],\n        createForAuthenticatedUser: [\"POST /user/codespaces\"],\n        createOrUpdateRepoSecret: [\n            \"PUT /repos/{owner}/{repo}/codespaces/secrets/{secret_name}\",\n        ],\n        createOrUpdateSecretForAuthenticatedUser: [\n            \"PUT /user/codespaces/secrets/{secret_name}\",\n        ],\n        createWithPrForAuthenticatedUser: [\n            \"POST /repos/{owner}/{repo}/pulls/{pull_number}/codespaces\",\n        ],\n        createWithRepoForAuthenticatedUser: [\n            \"POST /repos/{owner}/{repo}/codespaces\",\n        ],\n        deleteForAuthenticatedUser: [\"DELETE /user/codespaces/{codespace_name}\"],\n        deleteFromOrganization: [\n            \"DELETE /orgs/{org}/members/{username}/codespaces/{codespace_name}\",\n        ],\n        deleteRepoSecret: [\n            \"DELETE /repos/{owner}/{repo}/codespaces/secrets/{secret_name}\",\n        ],\n        deleteSecretForAuthenticatedUser: [\n            \"DELETE /user/codespaces/secrets/{secret_name}\",\n        ],\n        exportForAuthenticatedUser: [\n            \"POST /user/codespaces/{codespace_name}/exports\",\n        ],\n        getExportDetailsForAuthenticatedUser: [\n            \"GET /user/codespaces/{codespace_name}/exports/{export_id}\",\n        ],\n        getForAuthenticatedUser: [\"GET /user/codespaces/{codespace_name}\"],\n        getPublicKeyForAuthenticatedUser: [\n            \"GET /user/codespaces/secrets/public-key\",\n        ],\n        getRepoPublicKey: [\n            \"GET /repos/{owner}/{repo}/codespaces/secrets/public-key\",\n        ],\n        getRepoSecret: [\n            \"GET /repos/{owner}/{repo}/codespaces/secrets/{secret_name}\",\n        ],\n        getSecretForAuthenticatedUser: [\n            \"GET /user/codespaces/secrets/{secret_name}\",\n        ],\n        listDevcontainersInRepositoryForAuthenticatedUser: [\n            \"GET /repos/{owner}/{repo}/codespaces/devcontainers\",\n        ],\n        listForAuthenticatedUser: [\"GET /user/codespaces\"],\n        listInOrganization: [\n            \"GET /orgs/{org}/codespaces\",\n            {},\n            { renamedParameters: { org_id: \"org\" } },\n        ],\n        listInRepositoryForAuthenticatedUser: [\n            \"GET /repos/{owner}/{repo}/codespaces\",\n        ],\n        listRepoSecrets: [\"GET /repos/{owner}/{repo}/codespaces/secrets\"],\n        listRepositoriesForSecretForAuthenticatedUser: [\n            \"GET /user/codespaces/secrets/{secret_name}/repositories\",\n        ],\n        listSecretsForAuthenticatedUser: [\"GET /user/codespaces/secrets\"],\n        removeRepositoryForSecretForAuthenticatedUser: [\n            \"DELETE /user/codespaces/secrets/{secret_name}/repositories/{repository_id}\",\n        ],\n        repoMachinesForAuthenticatedUser: [\n            \"GET /repos/{owner}/{repo}/codespaces/machines\",\n        ],\n        setRepositoriesForSecretForAuthenticatedUser: [\n            \"PUT /user/codespaces/secrets/{secret_name}/repositories\",\n        ],\n        startForAuthenticatedUser: [\"POST /user/codespaces/{codespace_name}/start\"],\n        stopForAuthenticatedUser: [\"POST /user/codespaces/{codespace_name}/stop\"],\n        stopInOrganization: [\n            \"POST /orgs/{org}/members/{username}/codespaces/{codespace_name}/stop\",\n        ],\n        updateForAuthenticatedUser: [\"PATCH /user/codespaces/{codespace_name}\"],\n    },\n    dependabot: {\n        addSelectedRepoToOrgSecret: [\n            \"PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}\",\n        ],\n        createOrUpdateOrgSecret: [\n            \"PUT /orgs/{org}/dependabot/secrets/{secret_name}\",\n        ],\n        createOrUpdateRepoSecret: [\n            \"PUT /repos/{owner}/{repo}/dependabot/secrets/{secret_name}\",\n        ],\n        deleteOrgSecret: [\"DELETE /orgs/{org}/dependabot/secrets/{secret_name}\"],\n        deleteRepoSecret: [\n            \"DELETE /repos/{owner}/{repo}/dependabot/secrets/{secret_name}\",\n        ],\n        getOrgPublicKey: [\"GET /orgs/{org}/dependabot/secrets/public-key\"],\n        getOrgSecret: [\"GET /orgs/{org}/dependabot/secrets/{secret_name}\"],\n        getRepoPublicKey: [\n            \"GET /repos/{owner}/{repo}/dependabot/secrets/public-key\",\n        ],\n        getRepoSecret: [\n            \"GET /repos/{owner}/{repo}/dependabot/secrets/{secret_name}\",\n        ],\n        listOrgSecrets: [\"GET /orgs/{org}/dependabot/secrets\"],\n        listRepoSecrets: [\"GET /repos/{owner}/{repo}/dependabot/secrets\"],\n        listSelectedReposForOrgSecret: [\n            \"GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories\",\n        ],\n        removeSelectedRepoFromOrgSecret: [\n            \"DELETE /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}\",\n        ],\n        setSelectedReposForOrgSecret: [\n            \"PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories\",\n        ],\n    },\n    dependencyGraph: {\n        createRepositorySnapshot: [\n            \"POST /repos/{owner}/{repo}/dependency-graph/snapshots\",\n        ],\n        diffRange: [\n            \"GET /repos/{owner}/{repo}/dependency-graph/compare/{basehead}\",\n        ],\n    },\n    emojis: { get: [\"GET /emojis\"] },\n    enterpriseAdmin: {\n        addCustomLabelsToSelfHostedRunnerForEnterprise: [\n            \"POST /enterprises/{enterprise}/actions/runners/{runner_id}/labels\",\n        ],\n        disableSelectedOrganizationGithubActionsEnterprise: [\n            \"DELETE /enterprises/{enterprise}/actions/permissions/organizations/{org_id}\",\n        ],\n        enableSelectedOrganizationGithubActionsEnterprise: [\n            \"PUT /enterprises/{enterprise}/actions/permissions/organizations/{org_id}\",\n        ],\n        getAllowedActionsEnterprise: [\n            \"GET /enterprises/{enterprise}/actions/permissions/selected-actions\",\n        ],\n        getGithubActionsPermissionsEnterprise: [\n            \"GET /enterprises/{enterprise}/actions/permissions\",\n        ],\n        getServerStatistics: [\n            \"GET /enterprise-installation/{enterprise_or_org}/server-statistics\",\n        ],\n        listLabelsForSelfHostedRunnerForEnterprise: [\n            \"GET /enterprises/{enterprise}/actions/runners/{runner_id}/labels\",\n        ],\n        listSelectedOrganizationsEnabledGithubActionsEnterprise: [\n            \"GET /enterprises/{enterprise}/actions/permissions/organizations\",\n        ],\n        removeAllCustomLabelsFromSelfHostedRunnerForEnterprise: [\n            \"DELETE /enterprises/{enterprise}/actions/runners/{runner_id}/labels\",\n        ],\n        removeCustomLabelFromSelfHostedRunnerForEnterprise: [\n            \"DELETE /enterprises/{enterprise}/actions/runners/{runner_id}/labels/{name}\",\n        ],\n        setAllowedActionsEnterprise: [\n            \"PUT /enterprises/{enterprise}/actions/permissions/selected-actions\",\n        ],\n        setCustomLabelsForSelfHostedRunnerForEnterprise: [\n            \"PUT /enterprises/{enterprise}/actions/runners/{runner_id}/labels\",\n        ],\n        setGithubActionsPermissionsEnterprise: [\n            \"PUT /enterprises/{enterprise}/actions/permissions\",\n        ],\n        setSelectedOrganizationsEnabledGithubActionsEnterprise: [\n            \"PUT /enterprises/{enterprise}/actions/permissions/organizations\",\n        ],\n    },\n    gists: {\n        checkIsStarred: [\"GET /gists/{gist_id}/star\"],\n        create: [\"POST /gists\"],\n        createComment: [\"POST /gists/{gist_id}/comments\"],\n        delete: [\"DELETE /gists/{gist_id}\"],\n        deleteComment: [\"DELETE /gists/{gist_id}/comments/{comment_id}\"],\n        fork: [\"POST /gists/{gist_id}/forks\"],\n        get: [\"GET /gists/{gist_id}\"],\n        getComment: [\"GET /gists/{gist_id}/comments/{comment_id}\"],\n        getRevision: [\"GET /gists/{gist_id}/{sha}\"],\n        list: [\"GET /gists\"],\n        listComments: [\"GET /gists/{gist_id}/comments\"],\n        listCommits: [\"GET /gists/{gist_id}/commits\"],\n        listForUser: [\"GET /users/{username}/gists\"],\n        listForks: [\"GET /gists/{gist_id}/forks\"],\n        listPublic: [\"GET /gists/public\"],\n        listStarred: [\"GET /gists/starred\"],\n        star: [\"PUT /gists/{gist_id}/star\"],\n        unstar: [\"DELETE /gists/{gist_id}/star\"],\n        update: [\"PATCH /gists/{gist_id}\"],\n        updateComment: [\"PATCH /gists/{gist_id}/comments/{comment_id}\"],\n    },\n    git: {\n        createBlob: [\"POST /repos/{owner}/{repo}/git/blobs\"],\n        createCommit: [\"POST /repos/{owner}/{repo}/git/commits\"],\n        createRef: [\"POST /repos/{owner}/{repo}/git/refs\"],\n        createTag: [\"POST /repos/{owner}/{repo}/git/tags\"],\n        createTree: [\"POST /repos/{owner}/{repo}/git/trees\"],\n        deleteRef: [\"DELETE /repos/{owner}/{repo}/git/refs/{ref}\"],\n        getBlob: [\"GET /repos/{owner}/{repo}/git/blobs/{file_sha}\"],\n        getCommit: [\"GET /repos/{owner}/{repo}/git/commits/{commit_sha}\"],\n        getRef: [\"GET /repos/{owner}/{repo}/git/ref/{ref}\"],\n        getTag: [\"GET /repos/{owner}/{repo}/git/tags/{tag_sha}\"],\n        getTree: [\"GET /repos/{owner}/{repo}/git/trees/{tree_sha}\"],\n        listMatchingRefs: [\"GET /repos/{owner}/{repo}/git/matching-refs/{ref}\"],\n        updateRef: [\"PATCH /repos/{owner}/{repo}/git/refs/{ref}\"],\n    },\n    gitignore: {\n        getAllTemplates: [\"GET /gitignore/templates\"],\n        getTemplate: [\"GET /gitignore/templates/{name}\"],\n    },\n    interactions: {\n        getRestrictionsForAuthenticatedUser: [\"GET /user/interaction-limits\"],\n        getRestrictionsForOrg: [\"GET /orgs/{org}/interaction-limits\"],\n        getRestrictionsForRepo: [\"GET /repos/{owner}/{repo}/interaction-limits\"],\n        getRestrictionsForYourPublicRepos: [\n            \"GET /user/interaction-limits\",\n            {},\n            { renamed: [\"interactions\", \"getRestrictionsForAuthenticatedUser\"] },\n        ],\n        removeRestrictionsForAuthenticatedUser: [\"DELETE /user/interaction-limits\"],\n        removeRestrictionsForOrg: [\"DELETE /orgs/{org}/interaction-limits\"],\n        removeRestrictionsForRepo: [\n            \"DELETE /repos/{owner}/{repo}/interaction-limits\",\n        ],\n        removeRestrictionsForYourPublicRepos: [\n            \"DELETE /user/interaction-limits\",\n            {},\n            { renamed: [\"interactions\", \"removeRestrictionsForAuthenticatedUser\"] },\n        ],\n        setRestrictionsForAuthenticatedUser: [\"PUT /user/interaction-limits\"],\n        setRestrictionsForOrg: [\"PUT /orgs/{org}/interaction-limits\"],\n        setRestrictionsForRepo: [\"PUT /repos/{owner}/{repo}/interaction-limits\"],\n        setRestrictionsForYourPublicRepos: [\n            \"PUT /user/interaction-limits\",\n            {},\n            { renamed: [\"interactions\", \"setRestrictionsForAuthenticatedUser\"] },\n        ],\n    },\n    issues: {\n        addAssignees: [\n            \"POST /repos/{owner}/{repo}/issues/{issue_number}/assignees\",\n        ],\n        addLabels: [\"POST /repos/{owner}/{repo}/issues/{issue_number}/labels\"],\n        checkUserCanBeAssigned: [\"GET /repos/{owner}/{repo}/assignees/{assignee}\"],\n        create: [\"POST /repos/{owner}/{repo}/issues\"],\n        createComment: [\n            \"POST /repos/{owner}/{repo}/issues/{issue_number}/comments\",\n        ],\n        createLabel: [\"POST /repos/{owner}/{repo}/labels\"],\n        createMilestone: [\"POST /repos/{owner}/{repo}/milestones\"],\n        deleteComment: [\n            \"DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}\",\n        ],\n        deleteLabel: [\"DELETE /repos/{owner}/{repo}/labels/{name}\"],\n        deleteMilestone: [\n            \"DELETE /repos/{owner}/{repo}/milestones/{milestone_number}\",\n        ],\n        get: [\"GET /repos/{owner}/{repo}/issues/{issue_number}\"],\n        getComment: [\"GET /repos/{owner}/{repo}/issues/comments/{comment_id}\"],\n        getEvent: [\"GET /repos/{owner}/{repo}/issues/events/{event_id}\"],\n        getLabel: [\"GET /repos/{owner}/{repo}/labels/{name}\"],\n        getMilestone: [\"GET /repos/{owner}/{repo}/milestones/{milestone_number}\"],\n        list: [\"GET /issues\"],\n        listAssignees: [\"GET /repos/{owner}/{repo}/assignees\"],\n        listComments: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/comments\"],\n        listCommentsForRepo: [\"GET /repos/{owner}/{repo}/issues/comments\"],\n        listEvents: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/events\"],\n        listEventsForRepo: [\"GET /repos/{owner}/{repo}/issues/events\"],\n        listEventsForTimeline: [\n            \"GET /repos/{owner}/{repo}/issues/{issue_number}/timeline\",\n        ],\n        listForAuthenticatedUser: [\"GET /user/issues\"],\n        listForOrg: [\"GET /orgs/{org}/issues\"],\n        listForRepo: [\"GET /repos/{owner}/{repo}/issues\"],\n        listLabelsForMilestone: [\n            \"GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels\",\n        ],\n        listLabelsForRepo: [\"GET /repos/{owner}/{repo}/labels\"],\n        listLabelsOnIssue: [\n            \"GET /repos/{owner}/{repo}/issues/{issue_number}/labels\",\n        ],\n        listMilestones: [\"GET /repos/{owner}/{repo}/milestones\"],\n        lock: [\"PUT /repos/{owner}/{repo}/issues/{issue_number}/lock\"],\n        removeAllLabels: [\n            \"DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels\",\n        ],\n        removeAssignees: [\n            \"DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees\",\n        ],\n        removeLabel: [\n            \"DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}\",\n        ],\n        setLabels: [\"PUT /repos/{owner}/{repo}/issues/{issue_number}/labels\"],\n        unlock: [\"DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock\"],\n        update: [\"PATCH /repos/{owner}/{repo}/issues/{issue_number}\"],\n        updateComment: [\"PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}\"],\n        updateLabel: [\"PATCH /repos/{owner}/{repo}/labels/{name}\"],\n        updateMilestone: [\n            \"PATCH /repos/{owner}/{repo}/milestones/{milestone_number}\",\n        ],\n    },\n    licenses: {\n        get: [\"GET /licenses/{license}\"],\n        getAllCommonlyUsed: [\"GET /licenses\"],\n        getForRepo: [\"GET /repos/{owner}/{repo}/license\"],\n    },\n    markdown: {\n        render: [\"POST /markdown\"],\n        renderRaw: [\n            \"POST /markdown/raw\",\n            { headers: { \"content-type\": \"text/plain; charset=utf-8\" } },\n        ],\n    },\n    meta: {\n        get: [\"GET /meta\"],\n        getOctocat: [\"GET /octocat\"],\n        getZen: [\"GET /zen\"],\n        root: [\"GET /\"],\n    },\n    migrations: {\n        cancelImport: [\"DELETE /repos/{owner}/{repo}/import\"],\n        deleteArchiveForAuthenticatedUser: [\n            \"DELETE /user/migrations/{migration_id}/archive\",\n        ],\n        deleteArchiveForOrg: [\n            \"DELETE /orgs/{org}/migrations/{migration_id}/archive\",\n        ],\n        downloadArchiveForOrg: [\n            \"GET /orgs/{org}/migrations/{migration_id}/archive\",\n        ],\n        getArchiveForAuthenticatedUser: [\n            \"GET /user/migrations/{migration_id}/archive\",\n        ],\n        getCommitAuthors: [\"GET /repos/{owner}/{repo}/import/authors\"],\n        getImportStatus: [\"GET /repos/{owner}/{repo}/import\"],\n        getLargeFiles: [\"GET /repos/{owner}/{repo}/import/large_files\"],\n        getStatusForAuthenticatedUser: [\"GET /user/migrations/{migration_id}\"],\n        getStatusForOrg: [\"GET /orgs/{org}/migrations/{migration_id}\"],\n        listForAuthenticatedUser: [\"GET /user/migrations\"],\n        listForOrg: [\"GET /orgs/{org}/migrations\"],\n        listReposForAuthenticatedUser: [\n            \"GET /user/migrations/{migration_id}/repositories\",\n        ],\n        listReposForOrg: [\"GET /orgs/{org}/migrations/{migration_id}/repositories\"],\n        listReposForUser: [\n            \"GET /user/migrations/{migration_id}/repositories\",\n            {},\n            { renamed: [\"migrations\", \"listReposForAuthenticatedUser\"] },\n        ],\n        mapCommitAuthor: [\"PATCH /repos/{owner}/{repo}/import/authors/{author_id}\"],\n        setLfsPreference: [\"PATCH /repos/{owner}/{repo}/import/lfs\"],\n        startForAuthenticatedUser: [\"POST /user/migrations\"],\n        startForOrg: [\"POST /orgs/{org}/migrations\"],\n        startImport: [\"PUT /repos/{owner}/{repo}/import\"],\n        unlockRepoForAuthenticatedUser: [\n            \"DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock\",\n        ],\n        unlockRepoForOrg: [\n            \"DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock\",\n        ],\n        updateImport: [\"PATCH /repos/{owner}/{repo}/import\"],\n    },\n    orgs: {\n        blockUser: [\"PUT /orgs/{org}/blocks/{username}\"],\n        cancelInvitation: [\"DELETE /orgs/{org}/invitations/{invitation_id}\"],\n        checkBlockedUser: [\"GET /orgs/{org}/blocks/{username}\"],\n        checkMembershipForUser: [\"GET /orgs/{org}/members/{username}\"],\n        checkPublicMembershipForUser: [\"GET /orgs/{org}/public_members/{username}\"],\n        convertMemberToOutsideCollaborator: [\n            \"PUT /orgs/{org}/outside_collaborators/{username}\",\n        ],\n        createInvitation: [\"POST /orgs/{org}/invitations\"],\n        createWebhook: [\"POST /orgs/{org}/hooks\"],\n        deleteWebhook: [\"DELETE /orgs/{org}/hooks/{hook_id}\"],\n        get: [\"GET /orgs/{org}\"],\n        getMembershipForAuthenticatedUser: [\"GET /user/memberships/orgs/{org}\"],\n        getMembershipForUser: [\"GET /orgs/{org}/memberships/{username}\"],\n        getWebhook: [\"GET /orgs/{org}/hooks/{hook_id}\"],\n        getWebhookConfigForOrg: [\"GET /orgs/{org}/hooks/{hook_id}/config\"],\n        getWebhookDelivery: [\n            \"GET /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}\",\n        ],\n        list: [\"GET /organizations\"],\n        listAppInstallations: [\"GET /orgs/{org}/installations\"],\n        listBlockedUsers: [\"GET /orgs/{org}/blocks\"],\n        listCustomRoles: [\"GET /organizations/{organization_id}/custom_roles\"],\n        listFailedInvitations: [\"GET /orgs/{org}/failed_invitations\"],\n        listForAuthenticatedUser: [\"GET /user/orgs\"],\n        listForUser: [\"GET /users/{username}/orgs\"],\n        listInvitationTeams: [\"GET /orgs/{org}/invitations/{invitation_id}/teams\"],\n        listMembers: [\"GET /orgs/{org}/members\"],\n        listMembershipsForAuthenticatedUser: [\"GET /user/memberships/orgs\"],\n        listOutsideCollaborators: [\"GET /orgs/{org}/outside_collaborators\"],\n        listPendingInvitations: [\"GET /orgs/{org}/invitations\"],\n        listPublicMembers: [\"GET /orgs/{org}/public_members\"],\n        listWebhookDeliveries: [\"GET /orgs/{org}/hooks/{hook_id}/deliveries\"],\n        listWebhooks: [\"GET /orgs/{org}/hooks\"],\n        pingWebhook: [\"POST /orgs/{org}/hooks/{hook_id}/pings\"],\n        redeliverWebhookDelivery: [\n            \"POST /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts\",\n        ],\n        removeMember: [\"DELETE /orgs/{org}/members/{username}\"],\n        removeMembershipForUser: [\"DELETE /orgs/{org}/memberships/{username}\"],\n        removeOutsideCollaborator: [\n            \"DELETE /orgs/{org}/outside_collaborators/{username}\",\n        ],\n        removePublicMembershipForAuthenticatedUser: [\n            \"DELETE /orgs/{org}/public_members/{username}\",\n        ],\n        setMembershipForUser: [\"PUT /orgs/{org}/memberships/{username}\"],\n        setPublicMembershipForAuthenticatedUser: [\n            \"PUT /orgs/{org}/public_members/{username}\",\n        ],\n        unblockUser: [\"DELETE /orgs/{org}/blocks/{username}\"],\n        update: [\"PATCH /orgs/{org}\"],\n        updateMembershipForAuthenticatedUser: [\n            \"PATCH /user/memberships/orgs/{org}\",\n        ],\n        updateWebhook: [\"PATCH /orgs/{org}/hooks/{hook_id}\"],\n        updateWebhookConfigForOrg: [\"PATCH /orgs/{org}/hooks/{hook_id}/config\"],\n    },\n    packages: {\n        deletePackageForAuthenticatedUser: [\n            \"DELETE /user/packages/{package_type}/{package_name}\",\n        ],\n        deletePackageForOrg: [\n            \"DELETE /orgs/{org}/packages/{package_type}/{package_name}\",\n        ],\n        deletePackageForUser: [\n            \"DELETE /users/{username}/packages/{package_type}/{package_name}\",\n        ],\n        deletePackageVersionForAuthenticatedUser: [\n            \"DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}\",\n        ],\n        deletePackageVersionForOrg: [\n            \"DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}\",\n        ],\n        deletePackageVersionForUser: [\n            \"DELETE /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}\",\n        ],\n        getAllPackageVersionsForAPackageOwnedByAnOrg: [\n            \"GET /orgs/{org}/packages/{package_type}/{package_name}/versions\",\n            {},\n            { renamed: [\"packages\", \"getAllPackageVersionsForPackageOwnedByOrg\"] },\n        ],\n        getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser: [\n            \"GET /user/packages/{package_type}/{package_name}/versions\",\n            {},\n            {\n                renamed: [\n                    \"packages\",\n                    \"getAllPackageVersionsForPackageOwnedByAuthenticatedUser\",\n                ],\n            },\n        ],\n        getAllPackageVersionsForPackageOwnedByAuthenticatedUser: [\n            \"GET /user/packages/{package_type}/{package_name}/versions\",\n        ],\n        getAllPackageVersionsForPackageOwnedByOrg: [\n            \"GET /orgs/{org}/packages/{package_type}/{package_name}/versions\",\n        ],\n        getAllPackageVersionsForPackageOwnedByUser: [\n            \"GET /users/{username}/packages/{package_type}/{package_name}/versions\",\n        ],\n        getPackageForAuthenticatedUser: [\n            \"GET /user/packages/{package_type}/{package_name}\",\n        ],\n        getPackageForOrganization: [\n            \"GET /orgs/{org}/packages/{package_type}/{package_name}\",\n        ],\n        getPackageForUser: [\n            \"GET /users/{username}/packages/{package_type}/{package_name}\",\n        ],\n        getPackageVersionForAuthenticatedUser: [\n            \"GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}\",\n        ],\n        getPackageVersionForOrganization: [\n            \"GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}\",\n        ],\n        getPackageVersionForUser: [\n            \"GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}\",\n        ],\n        listPackagesForAuthenticatedUser: [\"GET /user/packages\"],\n        listPackagesForOrganization: [\"GET /orgs/{org}/packages\"],\n        listPackagesForUser: [\"GET /users/{username}/packages\"],\n        restorePackageForAuthenticatedUser: [\n            \"POST /user/packages/{package_type}/{package_name}/restore{?token}\",\n        ],\n        restorePackageForOrg: [\n            \"POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}\",\n        ],\n        restorePackageForUser: [\n            \"POST /users/{username}/packages/{package_type}/{package_name}/restore{?token}\",\n        ],\n        restorePackageVersionForAuthenticatedUser: [\n            \"POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore\",\n        ],\n        restorePackageVersionForOrg: [\n            \"POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore\",\n        ],\n        restorePackageVersionForUser: [\n            \"POST /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore\",\n        ],\n    },\n    projects: {\n        addCollaborator: [\"PUT /projects/{project_id}/collaborators/{username}\"],\n        createCard: [\"POST /projects/columns/{column_id}/cards\"],\n        createColumn: [\"POST /projects/{project_id}/columns\"],\n        createForAuthenticatedUser: [\"POST /user/projects\"],\n        createForOrg: [\"POST /orgs/{org}/projects\"],\n        createForRepo: [\"POST /repos/{owner}/{repo}/projects\"],\n        delete: [\"DELETE /projects/{project_id}\"],\n        deleteCard: [\"DELETE /projects/columns/cards/{card_id}\"],\n        deleteColumn: [\"DELETE /projects/columns/{column_id}\"],\n        get: [\"GET /projects/{project_id}\"],\n        getCard: [\"GET /projects/columns/cards/{card_id}\"],\n        getColumn: [\"GET /projects/columns/{column_id}\"],\n        getPermissionForUser: [\n            \"GET /projects/{project_id}/collaborators/{username}/permission\",\n        ],\n        listCards: [\"GET /projects/columns/{column_id}/cards\"],\n        listCollaborators: [\"GET /projects/{project_id}/collaborators\"],\n        listColumns: [\"GET /projects/{project_id}/columns\"],\n        listForOrg: [\"GET /orgs/{org}/projects\"],\n        listForRepo: [\"GET /repos/{owner}/{repo}/projects\"],\n        listForUser: [\"GET /users/{username}/projects\"],\n        moveCard: [\"POST /projects/columns/cards/{card_id}/moves\"],\n        moveColumn: [\"POST /projects/columns/{column_id}/moves\"],\n        removeCollaborator: [\n            \"DELETE /projects/{project_id}/collaborators/{username}\",\n        ],\n        update: [\"PATCH /projects/{project_id}\"],\n        updateCard: [\"PATCH /projects/columns/cards/{card_id}\"],\n        updateColumn: [\"PATCH /projects/columns/{column_id}\"],\n    },\n    pulls: {\n        checkIfMerged: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/merge\"],\n        create: [\"POST /repos/{owner}/{repo}/pulls\"],\n        createReplyForReviewComment: [\n            \"POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies\",\n        ],\n        createReview: [\"POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews\"],\n        createReviewComment: [\n            \"POST /repos/{owner}/{repo}/pulls/{pull_number}/comments\",\n        ],\n        deletePendingReview: [\n            \"DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}\",\n        ],\n        deleteReviewComment: [\n            \"DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}\",\n        ],\n        dismissReview: [\n            \"PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals\",\n        ],\n        get: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}\"],\n        getReview: [\n            \"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}\",\n        ],\n        getReviewComment: [\"GET /repos/{owner}/{repo}/pulls/comments/{comment_id}\"],\n        list: [\"GET /repos/{owner}/{repo}/pulls\"],\n        listCommentsForReview: [\n            \"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments\",\n        ],\n        listCommits: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/commits\"],\n        listFiles: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/files\"],\n        listRequestedReviewers: [\n            \"GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\",\n        ],\n        listReviewComments: [\n            \"GET /repos/{owner}/{repo}/pulls/{pull_number}/comments\",\n        ],\n        listReviewCommentsForRepo: [\"GET /repos/{owner}/{repo}/pulls/comments\"],\n        listReviews: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews\"],\n        merge: [\"PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge\"],\n        removeRequestedReviewers: [\n            \"DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\",\n        ],\n        requestReviewers: [\n            \"POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\",\n        ],\n        submitReview: [\n            \"POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events\",\n        ],\n        update: [\"PATCH /repos/{owner}/{repo}/pulls/{pull_number}\"],\n        updateBranch: [\n            \"PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch\",\n        ],\n        updateReview: [\n            \"PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}\",\n        ],\n        updateReviewComment: [\n            \"PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}\",\n        ],\n    },\n    rateLimit: { get: [\"GET /rate_limit\"] },\n    reactions: {\n        createForCommitComment: [\n            \"POST /repos/{owner}/{repo}/comments/{comment_id}/reactions\",\n        ],\n        createForIssue: [\n            \"POST /repos/{owner}/{repo}/issues/{issue_number}/reactions\",\n        ],\n        createForIssueComment: [\n            \"POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions\",\n        ],\n        createForPullRequestReviewComment: [\n            \"POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions\",\n        ],\n        createForRelease: [\n            \"POST /repos/{owner}/{repo}/releases/{release_id}/reactions\",\n        ],\n        createForTeamDiscussionCommentInOrg: [\n            \"POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions\",\n        ],\n        createForTeamDiscussionInOrg: [\n            \"POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions\",\n        ],\n        deleteForCommitComment: [\n            \"DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}\",\n        ],\n        deleteForIssue: [\n            \"DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}\",\n        ],\n        deleteForIssueComment: [\n            \"DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}\",\n        ],\n        deleteForPullRequestComment: [\n            \"DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}\",\n        ],\n        deleteForRelease: [\n            \"DELETE /repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}\",\n        ],\n        deleteForTeamDiscussion: [\n            \"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}\",\n        ],\n        deleteForTeamDiscussionComment: [\n            \"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}\",\n        ],\n        listForCommitComment: [\n            \"GET /repos/{owner}/{repo}/comments/{comment_id}/reactions\",\n        ],\n        listForIssue: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/reactions\"],\n        listForIssueComment: [\n            \"GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions\",\n        ],\n        listForPullRequestReviewComment: [\n            \"GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions\",\n        ],\n        listForRelease: [\n            \"GET /repos/{owner}/{repo}/releases/{release_id}/reactions\",\n        ],\n        listForTeamDiscussionCommentInOrg: [\n            \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions\",\n        ],\n        listForTeamDiscussionInOrg: [\n            \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions\",\n        ],\n    },\n    repos: {\n        acceptInvitation: [\n            \"PATCH /user/repository_invitations/{invitation_id}\",\n            {},\n            { renamed: [\"repos\", \"acceptInvitationForAuthenticatedUser\"] },\n        ],\n        acceptInvitationForAuthenticatedUser: [\n            \"PATCH /user/repository_invitations/{invitation_id}\",\n        ],\n        addAppAccessRestrictions: [\n            \"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\",\n            {},\n            { mapToData: \"apps\" },\n        ],\n        addCollaborator: [\"PUT /repos/{owner}/{repo}/collaborators/{username}\"],\n        addStatusCheckContexts: [\n            \"POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\",\n            {},\n            { mapToData: \"contexts\" },\n        ],\n        addTeamAccessRestrictions: [\n            \"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\",\n            {},\n            { mapToData: \"teams\" },\n        ],\n        addUserAccessRestrictions: [\n            \"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\",\n            {},\n            { mapToData: \"users\" },\n        ],\n        checkCollaborator: [\"GET /repos/{owner}/{repo}/collaborators/{username}\"],\n        checkVulnerabilityAlerts: [\n            \"GET /repos/{owner}/{repo}/vulnerability-alerts\",\n        ],\n        codeownersErrors: [\"GET /repos/{owner}/{repo}/codeowners/errors\"],\n        compareCommits: [\"GET /repos/{owner}/{repo}/compare/{base}...{head}\"],\n        compareCommitsWithBasehead: [\n            \"GET /repos/{owner}/{repo}/compare/{basehead}\",\n        ],\n        createAutolink: [\"POST /repos/{owner}/{repo}/autolinks\"],\n        createCommitComment: [\n            \"POST /repos/{owner}/{repo}/commits/{commit_sha}/comments\",\n        ],\n        createCommitSignatureProtection: [\n            \"POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\",\n        ],\n        createCommitStatus: [\"POST /repos/{owner}/{repo}/statuses/{sha}\"],\n        createDeployKey: [\"POST /repos/{owner}/{repo}/keys\"],\n        createDeployment: [\"POST /repos/{owner}/{repo}/deployments\"],\n        createDeploymentStatus: [\n            \"POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses\",\n        ],\n        createDispatchEvent: [\"POST /repos/{owner}/{repo}/dispatches\"],\n        createForAuthenticatedUser: [\"POST /user/repos\"],\n        createFork: [\"POST /repos/{owner}/{repo}/forks\"],\n        createInOrg: [\"POST /orgs/{org}/repos\"],\n        createOrUpdateEnvironment: [\n            \"PUT /repos/{owner}/{repo}/environments/{environment_name}\",\n        ],\n        createOrUpdateFileContents: [\"PUT /repos/{owner}/{repo}/contents/{path}\"],\n        createPagesSite: [\"POST /repos/{owner}/{repo}/pages\"],\n        createRelease: [\"POST /repos/{owner}/{repo}/releases\"],\n        createTagProtection: [\"POST /repos/{owner}/{repo}/tags/protection\"],\n        createUsingTemplate: [\n            \"POST /repos/{template_owner}/{template_repo}/generate\",\n        ],\n        createWebhook: [\"POST /repos/{owner}/{repo}/hooks\"],\n        declineInvitation: [\n            \"DELETE /user/repository_invitations/{invitation_id}\",\n            {},\n            { renamed: [\"repos\", \"declineInvitationForAuthenticatedUser\"] },\n        ],\n        declineInvitationForAuthenticatedUser: [\n            \"DELETE /user/repository_invitations/{invitation_id}\",\n        ],\n        delete: [\"DELETE /repos/{owner}/{repo}\"],\n        deleteAccessRestrictions: [\n            \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions\",\n        ],\n        deleteAdminBranchProtection: [\n            \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\",\n        ],\n        deleteAnEnvironment: [\n            \"DELETE /repos/{owner}/{repo}/environments/{environment_name}\",\n        ],\n        deleteAutolink: [\"DELETE /repos/{owner}/{repo}/autolinks/{autolink_id}\"],\n        deleteBranchProtection: [\n            \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection\",\n        ],\n        deleteCommitComment: [\"DELETE /repos/{owner}/{repo}/comments/{comment_id}\"],\n        deleteCommitSignatureProtection: [\n            \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\",\n        ],\n        deleteDeployKey: [\"DELETE /repos/{owner}/{repo}/keys/{key_id}\"],\n        deleteDeployment: [\n            \"DELETE /repos/{owner}/{repo}/deployments/{deployment_id}\",\n        ],\n        deleteFile: [\"DELETE /repos/{owner}/{repo}/contents/{path}\"],\n        deleteInvitation: [\n            \"DELETE /repos/{owner}/{repo}/invitations/{invitation_id}\",\n        ],\n        deletePagesSite: [\"DELETE /repos/{owner}/{repo}/pages\"],\n        deletePullRequestReviewProtection: [\n            \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\",\n        ],\n        deleteRelease: [\"DELETE /repos/{owner}/{repo}/releases/{release_id}\"],\n        deleteReleaseAsset: [\n            \"DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}\",\n        ],\n        deleteTagProtection: [\n            \"DELETE /repos/{owner}/{repo}/tags/protection/{tag_protection_id}\",\n        ],\n        deleteWebhook: [\"DELETE /repos/{owner}/{repo}/hooks/{hook_id}\"],\n        disableAutomatedSecurityFixes: [\n            \"DELETE /repos/{owner}/{repo}/automated-security-fixes\",\n        ],\n        disableLfsForRepo: [\"DELETE /repos/{owner}/{repo}/lfs\"],\n        disableVulnerabilityAlerts: [\n            \"DELETE /repos/{owner}/{repo}/vulnerability-alerts\",\n        ],\n        downloadArchive: [\n            \"GET /repos/{owner}/{repo}/zipball/{ref}\",\n            {},\n            { renamed: [\"repos\", \"downloadZipballArchive\"] },\n        ],\n        downloadTarballArchive: [\"GET /repos/{owner}/{repo}/tarball/{ref}\"],\n        downloadZipballArchive: [\"GET /repos/{owner}/{repo}/zipball/{ref}\"],\n        enableAutomatedSecurityFixes: [\n            \"PUT /repos/{owner}/{repo}/automated-security-fixes\",\n        ],\n        enableLfsForRepo: [\"PUT /repos/{owner}/{repo}/lfs\"],\n        enableVulnerabilityAlerts: [\n            \"PUT /repos/{owner}/{repo}/vulnerability-alerts\",\n        ],\n        generateReleaseNotes: [\n            \"POST /repos/{owner}/{repo}/releases/generate-notes\",\n        ],\n        get: [\"GET /repos/{owner}/{repo}\"],\n        getAccessRestrictions: [\n            \"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions\",\n        ],\n        getAdminBranchProtection: [\n            \"GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\",\n        ],\n        getAllEnvironments: [\"GET /repos/{owner}/{repo}/environments\"],\n        getAllStatusCheckContexts: [\n            \"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\",\n        ],\n        getAllTopics: [\"GET /repos/{owner}/{repo}/topics\"],\n        getAppsWithAccessToProtectedBranch: [\n            \"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\",\n        ],\n        getAutolink: [\"GET /repos/{owner}/{repo}/autolinks/{autolink_id}\"],\n        getBranch: [\"GET /repos/{owner}/{repo}/branches/{branch}\"],\n        getBranchProtection: [\n            \"GET /repos/{owner}/{repo}/branches/{branch}/protection\",\n        ],\n        getClones: [\"GET /repos/{owner}/{repo}/traffic/clones\"],\n        getCodeFrequencyStats: [\"GET /repos/{owner}/{repo}/stats/code_frequency\"],\n        getCollaboratorPermissionLevel: [\n            \"GET /repos/{owner}/{repo}/collaborators/{username}/permission\",\n        ],\n        getCombinedStatusForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/status\"],\n        getCommit: [\"GET /repos/{owner}/{repo}/commits/{ref}\"],\n        getCommitActivityStats: [\"GET /repos/{owner}/{repo}/stats/commit_activity\"],\n        getCommitComment: [\"GET /repos/{owner}/{repo}/comments/{comment_id}\"],\n        getCommitSignatureProtection: [\n            \"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\",\n        ],\n        getCommunityProfileMetrics: [\"GET /repos/{owner}/{repo}/community/profile\"],\n        getContent: [\"GET /repos/{owner}/{repo}/contents/{path}\"],\n        getContributorsStats: [\"GET /repos/{owner}/{repo}/stats/contributors\"],\n        getDeployKey: [\"GET /repos/{owner}/{repo}/keys/{key_id}\"],\n        getDeployment: [\"GET /repos/{owner}/{repo}/deployments/{deployment_id}\"],\n        getDeploymentStatus: [\n            \"GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}\",\n        ],\n        getEnvironment: [\n            \"GET /repos/{owner}/{repo}/environments/{environment_name}\",\n        ],\n        getLatestPagesBuild: [\"GET /repos/{owner}/{repo}/pages/builds/latest\"],\n        getLatestRelease: [\"GET /repos/{owner}/{repo}/releases/latest\"],\n        getPages: [\"GET /repos/{owner}/{repo}/pages\"],\n        getPagesBuild: [\"GET /repos/{owner}/{repo}/pages/builds/{build_id}\"],\n        getPagesHealthCheck: [\"GET /repos/{owner}/{repo}/pages/health\"],\n        getParticipationStats: [\"GET /repos/{owner}/{repo}/stats/participation\"],\n        getPullRequestReviewProtection: [\n            \"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\",\n        ],\n        getPunchCardStats: [\"GET /repos/{owner}/{repo}/stats/punch_card\"],\n        getReadme: [\"GET /repos/{owner}/{repo}/readme\"],\n        getReadmeInDirectory: [\"GET /repos/{owner}/{repo}/readme/{dir}\"],\n        getRelease: [\"GET /repos/{owner}/{repo}/releases/{release_id}\"],\n        getReleaseAsset: [\"GET /repos/{owner}/{repo}/releases/assets/{asset_id}\"],\n        getReleaseByTag: [\"GET /repos/{owner}/{repo}/releases/tags/{tag}\"],\n        getStatusChecksProtection: [\n            \"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\",\n        ],\n        getTeamsWithAccessToProtectedBranch: [\n            \"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\",\n        ],\n        getTopPaths: [\"GET /repos/{owner}/{repo}/traffic/popular/paths\"],\n        getTopReferrers: [\"GET /repos/{owner}/{repo}/traffic/popular/referrers\"],\n        getUsersWithAccessToProtectedBranch: [\n            \"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\",\n        ],\n        getViews: [\"GET /repos/{owner}/{repo}/traffic/views\"],\n        getWebhook: [\"GET /repos/{owner}/{repo}/hooks/{hook_id}\"],\n        getWebhookConfigForRepo: [\n            \"GET /repos/{owner}/{repo}/hooks/{hook_id}/config\",\n        ],\n        getWebhookDelivery: [\n            \"GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}\",\n        ],\n        listAutolinks: [\"GET /repos/{owner}/{repo}/autolinks\"],\n        listBranches: [\"GET /repos/{owner}/{repo}/branches\"],\n        listBranchesForHeadCommit: [\n            \"GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head\",\n        ],\n        listCollaborators: [\"GET /repos/{owner}/{repo}/collaborators\"],\n        listCommentsForCommit: [\n            \"GET /repos/{owner}/{repo}/commits/{commit_sha}/comments\",\n        ],\n        listCommitCommentsForRepo: [\"GET /repos/{owner}/{repo}/comments\"],\n        listCommitStatusesForRef: [\n            \"GET /repos/{owner}/{repo}/commits/{ref}/statuses\",\n        ],\n        listCommits: [\"GET /repos/{owner}/{repo}/commits\"],\n        listContributors: [\"GET /repos/{owner}/{repo}/contributors\"],\n        listDeployKeys: [\"GET /repos/{owner}/{repo}/keys\"],\n        listDeploymentStatuses: [\n            \"GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses\",\n        ],\n        listDeployments: [\"GET /repos/{owner}/{repo}/deployments\"],\n        listForAuthenticatedUser: [\"GET /user/repos\"],\n        listForOrg: [\"GET /orgs/{org}/repos\"],\n        listForUser: [\"GET /users/{username}/repos\"],\n        listForks: [\"GET /repos/{owner}/{repo}/forks\"],\n        listInvitations: [\"GET /repos/{owner}/{repo}/invitations\"],\n        listInvitationsForAuthenticatedUser: [\"GET /user/repository_invitations\"],\n        listLanguages: [\"GET /repos/{owner}/{repo}/languages\"],\n        listPagesBuilds: [\"GET /repos/{owner}/{repo}/pages/builds\"],\n        listPublic: [\"GET /repositories\"],\n        listPullRequestsAssociatedWithCommit: [\n            \"GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls\",\n        ],\n        listReleaseAssets: [\n            \"GET /repos/{owner}/{repo}/releases/{release_id}/assets\",\n        ],\n        listReleases: [\"GET /repos/{owner}/{repo}/releases\"],\n        listTagProtection: [\"GET /repos/{owner}/{repo}/tags/protection\"],\n        listTags: [\"GET /repos/{owner}/{repo}/tags\"],\n        listTeams: [\"GET /repos/{owner}/{repo}/teams\"],\n        listWebhookDeliveries: [\n            \"GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries\",\n        ],\n        listWebhooks: [\"GET /repos/{owner}/{repo}/hooks\"],\n        merge: [\"POST /repos/{owner}/{repo}/merges\"],\n        mergeUpstream: [\"POST /repos/{owner}/{repo}/merge-upstream\"],\n        pingWebhook: [\"POST /repos/{owner}/{repo}/hooks/{hook_id}/pings\"],\n        redeliverWebhookDelivery: [\n            \"POST /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts\",\n        ],\n        removeAppAccessRestrictions: [\n            \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\",\n            {},\n            { mapToData: \"apps\" },\n        ],\n        removeCollaborator: [\n            \"DELETE /repos/{owner}/{repo}/collaborators/{username}\",\n        ],\n        removeStatusCheckContexts: [\n            \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\",\n            {},\n            { mapToData: \"contexts\" },\n        ],\n        removeStatusCheckProtection: [\n            \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\",\n        ],\n        removeTeamAccessRestrictions: [\n            \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\",\n            {},\n            { mapToData: \"teams\" },\n        ],\n        removeUserAccessRestrictions: [\n            \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\",\n            {},\n            { mapToData: \"users\" },\n        ],\n        renameBranch: [\"POST /repos/{owner}/{repo}/branches/{branch}/rename\"],\n        replaceAllTopics: [\"PUT /repos/{owner}/{repo}/topics\"],\n        requestPagesBuild: [\"POST /repos/{owner}/{repo}/pages/builds\"],\n        setAdminBranchProtection: [\n            \"POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\",\n        ],\n        setAppAccessRestrictions: [\n            \"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\",\n            {},\n            { mapToData: \"apps\" },\n        ],\n        setStatusCheckContexts: [\n            \"PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\",\n            {},\n            { mapToData: \"contexts\" },\n        ],\n        setTeamAccessRestrictions: [\n            \"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\",\n            {},\n            { mapToData: \"teams\" },\n        ],\n        setUserAccessRestrictions: [\n            \"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\",\n            {},\n            { mapToData: \"users\" },\n        ],\n        testPushWebhook: [\"POST /repos/{owner}/{repo}/hooks/{hook_id}/tests\"],\n        transfer: [\"POST /repos/{owner}/{repo}/transfer\"],\n        update: [\"PATCH /repos/{owner}/{repo}\"],\n        updateBranchProtection: [\n            \"PUT /repos/{owner}/{repo}/branches/{branch}/protection\",\n        ],\n        updateCommitComment: [\"PATCH /repos/{owner}/{repo}/comments/{comment_id}\"],\n        updateInformationAboutPagesSite: [\"PUT /repos/{owner}/{repo}/pages\"],\n        updateInvitation: [\n            \"PATCH /repos/{owner}/{repo}/invitations/{invitation_id}\",\n        ],\n        updatePullRequestReviewProtection: [\n            \"PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\",\n        ],\n        updateRelease: [\"PATCH /repos/{owner}/{repo}/releases/{release_id}\"],\n        updateReleaseAsset: [\n            \"PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}\",\n        ],\n        updateStatusCheckPotection: [\n            \"PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\",\n            {},\n            { renamed: [\"repos\", \"updateStatusCheckProtection\"] },\n        ],\n        updateStatusCheckProtection: [\n            \"PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\",\n        ],\n        updateWebhook: [\"PATCH /repos/{owner}/{repo}/hooks/{hook_id}\"],\n        updateWebhookConfigForRepo: [\n            \"PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config\",\n        ],\n        uploadReleaseAsset: [\n            \"POST /repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}\",\n            { baseUrl: \"https://uploads.github.com\" },\n        ],\n    },\n    search: {\n        code: [\"GET /search/code\"],\n        commits: [\"GET /search/commits\"],\n        issuesAndPullRequests: [\"GET /search/issues\"],\n        labels: [\"GET /search/labels\"],\n        repos: [\"GET /search/repositories\"],\n        topics: [\"GET /search/topics\"],\n        users: [\"GET /search/users\"],\n    },\n    secretScanning: {\n        getAlert: [\n            \"GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}\",\n        ],\n        listAlertsForEnterprise: [\n            \"GET /enterprises/{enterprise}/secret-scanning/alerts\",\n        ],\n        listAlertsForOrg: [\"GET /orgs/{org}/secret-scanning/alerts\"],\n        listAlertsForRepo: [\"GET /repos/{owner}/{repo}/secret-scanning/alerts\"],\n        listLocationsForAlert: [\n            \"GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations\",\n        ],\n        updateAlert: [\n            \"PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}\",\n        ],\n    },\n    teams: {\n        addOrUpdateMembershipForUserInOrg: [\n            \"PUT /orgs/{org}/teams/{team_slug}/memberships/{username}\",\n        ],\n        addOrUpdateProjectPermissionsInOrg: [\n            \"PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}\",\n        ],\n        addOrUpdateRepoPermissionsInOrg: [\n            \"PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\",\n        ],\n        checkPermissionsForProjectInOrg: [\n            \"GET /orgs/{org}/teams/{team_slug}/projects/{project_id}\",\n        ],\n        checkPermissionsForRepoInOrg: [\n            \"GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\",\n        ],\n        create: [\"POST /orgs/{org}/teams\"],\n        createDiscussionCommentInOrg: [\n            \"POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments\",\n        ],\n        createDiscussionInOrg: [\"POST /orgs/{org}/teams/{team_slug}/discussions\"],\n        deleteDiscussionCommentInOrg: [\n            \"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}\",\n        ],\n        deleteDiscussionInOrg: [\n            \"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}\",\n        ],\n        deleteInOrg: [\"DELETE /orgs/{org}/teams/{team_slug}\"],\n        getByName: [\"GET /orgs/{org}/teams/{team_slug}\"],\n        getDiscussionCommentInOrg: [\n            \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}\",\n        ],\n        getDiscussionInOrg: [\n            \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}\",\n        ],\n        getMembershipForUserInOrg: [\n            \"GET /orgs/{org}/teams/{team_slug}/memberships/{username}\",\n        ],\n        list: [\"GET /orgs/{org}/teams\"],\n        listChildInOrg: [\"GET /orgs/{org}/teams/{team_slug}/teams\"],\n        listDiscussionCommentsInOrg: [\n            \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments\",\n        ],\n        listDiscussionsInOrg: [\"GET /orgs/{org}/teams/{team_slug}/discussions\"],\n        listForAuthenticatedUser: [\"GET /user/teams\"],\n        listMembersInOrg: [\"GET /orgs/{org}/teams/{team_slug}/members\"],\n        listPendingInvitationsInOrg: [\n            \"GET /orgs/{org}/teams/{team_slug}/invitations\",\n        ],\n        listProjectsInOrg: [\"GET /orgs/{org}/teams/{team_slug}/projects\"],\n        listReposInOrg: [\"GET /orgs/{org}/teams/{team_slug}/repos\"],\n        removeMembershipForUserInOrg: [\n            \"DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}\",\n        ],\n        removeProjectInOrg: [\n            \"DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}\",\n        ],\n        removeRepoInOrg: [\n            \"DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\",\n        ],\n        updateDiscussionCommentInOrg: [\n            \"PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}\",\n        ],\n        updateDiscussionInOrg: [\n            \"PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}\",\n        ],\n        updateInOrg: [\"PATCH /orgs/{org}/teams/{team_slug}\"],\n    },\n    users: {\n        addEmailForAuthenticated: [\n            \"POST /user/emails\",\n            {},\n            { renamed: [\"users\", \"addEmailForAuthenticatedUser\"] },\n        ],\n        addEmailForAuthenticatedUser: [\"POST /user/emails\"],\n        block: [\"PUT /user/blocks/{username}\"],\n        checkBlocked: [\"GET /user/blocks/{username}\"],\n        checkFollowingForUser: [\"GET /users/{username}/following/{target_user}\"],\n        checkPersonIsFollowedByAuthenticated: [\"GET /user/following/{username}\"],\n        createGpgKeyForAuthenticated: [\n            \"POST /user/gpg_keys\",\n            {},\n            { renamed: [\"users\", \"createGpgKeyForAuthenticatedUser\"] },\n        ],\n        createGpgKeyForAuthenticatedUser: [\"POST /user/gpg_keys\"],\n        createPublicSshKeyForAuthenticated: [\n            \"POST /user/keys\",\n            {},\n            { renamed: [\"users\", \"createPublicSshKeyForAuthenticatedUser\"] },\n        ],\n        createPublicSshKeyForAuthenticatedUser: [\"POST /user/keys\"],\n        deleteEmailForAuthenticated: [\n            \"DELETE /user/emails\",\n            {},\n            { renamed: [\"users\", \"deleteEmailForAuthenticatedUser\"] },\n        ],\n        deleteEmailForAuthenticatedUser: [\"DELETE /user/emails\"],\n        deleteGpgKeyForAuthenticated: [\n            \"DELETE /user/gpg_keys/{gpg_key_id}\",\n            {},\n            { renamed: [\"users\", \"deleteGpgKeyForAuthenticatedUser\"] },\n        ],\n        deleteGpgKeyForAuthenticatedUser: [\"DELETE /user/gpg_keys/{gpg_key_id}\"],\n        deletePublicSshKeyForAuthenticated: [\n            \"DELETE /user/keys/{key_id}\",\n            {},\n            { renamed: [\"users\", \"deletePublicSshKeyForAuthenticatedUser\"] },\n        ],\n        deletePublicSshKeyForAuthenticatedUser: [\"DELETE /user/keys/{key_id}\"],\n        follow: [\"PUT /user/following/{username}\"],\n        getAuthenticated: [\"GET /user\"],\n        getByUsername: [\"GET /users/{username}\"],\n        getContextForUser: [\"GET /users/{username}/hovercard\"],\n        getGpgKeyForAuthenticated: [\n            \"GET /user/gpg_keys/{gpg_key_id}\",\n            {},\n            { renamed: [\"users\", \"getGpgKeyForAuthenticatedUser\"] },\n        ],\n        getGpgKeyForAuthenticatedUser: [\"GET /user/gpg_keys/{gpg_key_id}\"],\n        getPublicSshKeyForAuthenticated: [\n            \"GET /user/keys/{key_id}\",\n            {},\n            { renamed: [\"users\", \"getPublicSshKeyForAuthenticatedUser\"] },\n        ],\n        getPublicSshKeyForAuthenticatedUser: [\"GET /user/keys/{key_id}\"],\n        list: [\"GET /users\"],\n        listBlockedByAuthenticated: [\n            \"GET /user/blocks\",\n            {},\n            { renamed: [\"users\", \"listBlockedByAuthenticatedUser\"] },\n        ],\n        listBlockedByAuthenticatedUser: [\"GET /user/blocks\"],\n        listEmailsForAuthenticated: [\n            \"GET /user/emails\",\n            {},\n            { renamed: [\"users\", \"listEmailsForAuthenticatedUser\"] },\n        ],\n        listEmailsForAuthenticatedUser: [\"GET /user/emails\"],\n        listFollowedByAuthenticated: [\n            \"GET /user/following\",\n            {},\n            { renamed: [\"users\", \"listFollowedByAuthenticatedUser\"] },\n        ],\n        listFollowedByAuthenticatedUser: [\"GET /user/following\"],\n        listFollowersForAuthenticatedUser: [\"GET /user/followers\"],\n        listFollowersForUser: [\"GET /users/{username}/followers\"],\n        listFollowingForUser: [\"GET /users/{username}/following\"],\n        listGpgKeysForAuthenticated: [\n            \"GET /user/gpg_keys\",\n            {},\n            { renamed: [\"users\", \"listGpgKeysForAuthenticatedUser\"] },\n        ],\n        listGpgKeysForAuthenticatedUser: [\"GET /user/gpg_keys\"],\n        listGpgKeysForUser: [\"GET /users/{username}/gpg_keys\"],\n        listPublicEmailsForAuthenticated: [\n            \"GET /user/public_emails\",\n            {},\n            { renamed: [\"users\", \"listPublicEmailsForAuthenticatedUser\"] },\n        ],\n        listPublicEmailsForAuthenticatedUser: [\"GET /user/public_emails\"],\n        listPublicKeysForUser: [\"GET /users/{username}/keys\"],\n        listPublicSshKeysForAuthenticated: [\n            \"GET /user/keys\",\n            {},\n            { renamed: [\"users\", \"listPublicSshKeysForAuthenticatedUser\"] },\n        ],\n        listPublicSshKeysForAuthenticatedUser: [\"GET /user/keys\"],\n        setPrimaryEmailVisibilityForAuthenticated: [\n            \"PATCH /user/email/visibility\",\n            {},\n            { renamed: [\"users\", \"setPrimaryEmailVisibilityForAuthenticatedUser\"] },\n        ],\n        setPrimaryEmailVisibilityForAuthenticatedUser: [\n            \"PATCH /user/email/visibility\",\n        ],\n        unblock: [\"DELETE /user/blocks/{username}\"],\n        unfollow: [\"DELETE /user/following/{username}\"],\n        updateAuthenticated: [\"PATCH /user\"],\n    },\n};\nexport default Endpoints;\n","export const VERSION = \"5.16.2\";\n","export function endpointsToMethods(octokit, endpointsMap) {\n    const newMethods = {};\n    for (const [scope, endpoints] of Object.entries(endpointsMap)) {\n        for (const [methodName, endpoint] of Object.entries(endpoints)) {\n            const [route, defaults, decorations] = endpoint;\n            const [method, url] = route.split(/ /);\n            const endpointDefaults = Object.assign({ method, url }, defaults);\n            if (!newMethods[scope]) {\n                newMethods[scope] = {};\n            }\n            const scopeMethods = newMethods[scope];\n            if (decorations) {\n                scopeMethods[methodName] = decorate(octokit, scope, methodName, endpointDefaults, decorations);\n                continue;\n            }\n            scopeMethods[methodName] = octokit.request.defaults(endpointDefaults);\n        }\n    }\n    return newMethods;\n}\nfunction decorate(octokit, scope, methodName, defaults, decorations) {\n    const requestWithDefaults = octokit.request.defaults(defaults);\n    /* istanbul ignore next */\n    function withDecorations(...args) {\n        // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488\n        let options = requestWithDefaults.endpoint.merge(...args);\n        // There are currently no other decorations than `.mapToData`\n        if (decorations.mapToData) {\n            options = Object.assign({}, options, {\n                data: options[decorations.mapToData],\n                [decorations.mapToData]: undefined,\n            });\n            return requestWithDefaults(options);\n        }\n        if (decorations.renamed) {\n            const [newScope, newMethodName] = decorations.renamed;\n            octokit.log.warn(`octokit.${scope}.${methodName}() has been renamed to octokit.${newScope}.${newMethodName}()`);\n        }\n        if (decorations.deprecated) {\n            octokit.log.warn(decorations.deprecated);\n        }\n        if (decorations.renamedParameters) {\n            // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488\n            const options = requestWithDefaults.endpoint.merge(...args);\n            for (const [name, alias] of Object.entries(decorations.renamedParameters)) {\n                if (name in options) {\n                    octokit.log.warn(`\"${name}\" parameter is deprecated for \"octokit.${scope}.${methodName}()\". Use \"${alias}\" instead`);\n                    if (!(alias in options)) {\n                        options[alias] = options[name];\n                    }\n                    delete options[name];\n                }\n            }\n            return requestWithDefaults(options);\n        }\n        // @ts-ignore https://github.com/microsoft/TypeScript/issues/25488\n        return requestWithDefaults(...args);\n    }\n    return Object.assign(withDecorations, requestWithDefaults);\n}\n","import ENDPOINTS from \"./generated/endpoints\";\nimport { VERSION } from \"./version\";\nimport { endpointsToMethods } from \"./endpoints-to-methods\";\nexport function restEndpointMethods(octokit) {\n    const api = endpointsToMethods(octokit, ENDPOINTS);\n    return {\n        rest: api,\n    };\n}\nrestEndpointMethods.VERSION = VERSION;\nexport function legacyRestEndpointMethods(octokit) {\n    const api = endpointsToMethods(octokit, ENDPOINTS);\n    return {\n        ...api,\n        rest: api,\n    };\n}\nlegacyRestEndpointMethods.VERSION = VERSION;\n","export const VERSION = \"2.21.3\";\n","/**\n * Some “list” response that can be paginated have a different response structure\n *\n * They have a `total_count` key in the response (search also has `incomplete_results`,\n * /installation/repositories also has `repository_selection`), as well as a key with\n * the list of the items which name varies from endpoint to endpoint.\n *\n * Octokit normalizes these responses so that paginated results are always returned following\n * the same structure. One challenge is that if the list response has only one page, no Link\n * header is provided, so this header alone is not sufficient to check wether a response is\n * paginated or not.\n *\n * We check if a \"total_count\" key is present in the response data, but also make sure that\n * a \"url\" property is not, as the \"Get the combined status for a specific ref\" endpoint would\n * otherwise match: https://developer.github.com/v3/repos/statuses/#get-the-combined-status-for-a-specific-ref\n */\nexport function normalizePaginatedListResponse(response) {\n    // endpoints can respond with 204 if repository is empty\n    if (!response.data) {\n        return {\n            ...response,\n            data: [],\n        };\n    }\n    const responseNeedsNormalization = \"total_count\" in response.data && !(\"url\" in response.data);\n    if (!responseNeedsNormalization)\n        return response;\n    // keep the additional properties intact as there is currently no other way\n    // to retrieve the same information.\n    const incompleteResults = response.data.incomplete_results;\n    const repositorySelection = response.data.repository_selection;\n    const totalCount = response.data.total_count;\n    delete response.data.incomplete_results;\n    delete response.data.repository_selection;\n    delete response.data.total_count;\n    const namespaceKey = Object.keys(response.data)[0];\n    const data = response.data[namespaceKey];\n    response.data = data;\n    if (typeof incompleteResults !== \"undefined\") {\n        response.data.incomplete_results = incompleteResults;\n    }\n    if (typeof repositorySelection !== \"undefined\") {\n        response.data.repository_selection = repositorySelection;\n    }\n    response.data.total_count = totalCount;\n    return response;\n}\n","import { normalizePaginatedListResponse } from \"./normalize-paginated-list-response\";\nexport function iterator(octokit, route, parameters) {\n    const options = typeof route === \"function\"\n        ? route.endpoint(parameters)\n        : octokit.request.endpoint(route, parameters);\n    const requestMethod = typeof route === \"function\" ? route : octokit.request;\n    const method = options.method;\n    const headers = options.headers;\n    let url = options.url;\n    return {\n        [Symbol.asyncIterator]: () => ({\n            async next() {\n                if (!url)\n                    return { done: true };\n                try {\n                    const response = await requestMethod({ method, url, headers });\n                    const normalizedResponse = normalizePaginatedListResponse(response);\n                    // `response.headers.link` format:\n                    // '; rel=\"next\", ; rel=\"last\"'\n                    // sets `url` to undefined if \"next\" URL is not present or `link` header is not set\n                    url = ((normalizedResponse.headers.link || \"\").match(/<([^>]+)>;\\s*rel=\"next\"/) || [])[1];\n                    return { value: normalizedResponse };\n                }\n                catch (error) {\n                    if (error.status !== 409)\n                        throw error;\n                    url = \"\";\n                    return {\n                        value: {\n                            status: 200,\n                            headers: {},\n                            data: [],\n                        },\n                    };\n                }\n            },\n        }),\n    };\n}\n","import { iterator } from \"./iterator\";\nexport function paginate(octokit, route, parameters, mapFn) {\n    if (typeof parameters === \"function\") {\n        mapFn = parameters;\n        parameters = undefined;\n    }\n    return gather(octokit, [], iterator(octokit, route, parameters)[Symbol.asyncIterator](), mapFn);\n}\nfunction gather(octokit, results, iterator, mapFn) {\n    return iterator.next().then((result) => {\n        if (result.done) {\n            return results;\n        }\n        let earlyExit = false;\n        function done() {\n            earlyExit = true;\n        }\n        results = results.concat(mapFn ? mapFn(result.value, done) : result.value.data);\n        if (earlyExit) {\n            return results;\n        }\n        return gather(octokit, results, iterator, mapFn);\n    });\n}\n","import { paginate } from \"./paginate\";\nimport { iterator } from \"./iterator\";\nexport const composePaginateRest = Object.assign(paginate, {\n    iterator,\n});\n","export const paginatingEndpoints = [\n    \"GET /app/hook/deliveries\",\n    \"GET /app/installations\",\n    \"GET /applications/grants\",\n    \"GET /authorizations\",\n    \"GET /enterprises/{enterprise}/actions/permissions/organizations\",\n    \"GET /enterprises/{enterprise}/actions/runner-groups\",\n    \"GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations\",\n    \"GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners\",\n    \"GET /enterprises/{enterprise}/actions/runners\",\n    \"GET /enterprises/{enterprise}/audit-log\",\n    \"GET /enterprises/{enterprise}/secret-scanning/alerts\",\n    \"GET /enterprises/{enterprise}/settings/billing/advanced-security\",\n    \"GET /events\",\n    \"GET /gists\",\n    \"GET /gists/public\",\n    \"GET /gists/starred\",\n    \"GET /gists/{gist_id}/comments\",\n    \"GET /gists/{gist_id}/commits\",\n    \"GET /gists/{gist_id}/forks\",\n    \"GET /installation/repositories\",\n    \"GET /issues\",\n    \"GET /licenses\",\n    \"GET /marketplace_listing/plans\",\n    \"GET /marketplace_listing/plans/{plan_id}/accounts\",\n    \"GET /marketplace_listing/stubbed/plans\",\n    \"GET /marketplace_listing/stubbed/plans/{plan_id}/accounts\",\n    \"GET /networks/{owner}/{repo}/events\",\n    \"GET /notifications\",\n    \"GET /organizations\",\n    \"GET /orgs/{org}/actions/cache/usage-by-repository\",\n    \"GET /orgs/{org}/actions/permissions/repositories\",\n    \"GET /orgs/{org}/actions/runner-groups\",\n    \"GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories\",\n    \"GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners\",\n    \"GET /orgs/{org}/actions/runners\",\n    \"GET /orgs/{org}/actions/secrets\",\n    \"GET /orgs/{org}/actions/secrets/{secret_name}/repositories\",\n    \"GET /orgs/{org}/audit-log\",\n    \"GET /orgs/{org}/blocks\",\n    \"GET /orgs/{org}/code-scanning/alerts\",\n    \"GET /orgs/{org}/codespaces\",\n    \"GET /orgs/{org}/credential-authorizations\",\n    \"GET /orgs/{org}/dependabot/secrets\",\n    \"GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories\",\n    \"GET /orgs/{org}/events\",\n    \"GET /orgs/{org}/external-groups\",\n    \"GET /orgs/{org}/failed_invitations\",\n    \"GET /orgs/{org}/hooks\",\n    \"GET /orgs/{org}/hooks/{hook_id}/deliveries\",\n    \"GET /orgs/{org}/installations\",\n    \"GET /orgs/{org}/invitations\",\n    \"GET /orgs/{org}/invitations/{invitation_id}/teams\",\n    \"GET /orgs/{org}/issues\",\n    \"GET /orgs/{org}/members\",\n    \"GET /orgs/{org}/migrations\",\n    \"GET /orgs/{org}/migrations/{migration_id}/repositories\",\n    \"GET /orgs/{org}/outside_collaborators\",\n    \"GET /orgs/{org}/packages\",\n    \"GET /orgs/{org}/packages/{package_type}/{package_name}/versions\",\n    \"GET /orgs/{org}/projects\",\n    \"GET /orgs/{org}/public_members\",\n    \"GET /orgs/{org}/repos\",\n    \"GET /orgs/{org}/secret-scanning/alerts\",\n    \"GET /orgs/{org}/settings/billing/advanced-security\",\n    \"GET /orgs/{org}/team-sync/groups\",\n    \"GET /orgs/{org}/teams\",\n    \"GET /orgs/{org}/teams/{team_slug}/discussions\",\n    \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments\",\n    \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions\",\n    \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions\",\n    \"GET /orgs/{org}/teams/{team_slug}/invitations\",\n    \"GET /orgs/{org}/teams/{team_slug}/members\",\n    \"GET /orgs/{org}/teams/{team_slug}/projects\",\n    \"GET /orgs/{org}/teams/{team_slug}/repos\",\n    \"GET /orgs/{org}/teams/{team_slug}/teams\",\n    \"GET /projects/columns/{column_id}/cards\",\n    \"GET /projects/{project_id}/collaborators\",\n    \"GET /projects/{project_id}/columns\",\n    \"GET /repos/{owner}/{repo}/actions/artifacts\",\n    \"GET /repos/{owner}/{repo}/actions/caches\",\n    \"GET /repos/{owner}/{repo}/actions/runners\",\n    \"GET /repos/{owner}/{repo}/actions/runs\",\n    \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts\",\n    \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs\",\n    \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs\",\n    \"GET /repos/{owner}/{repo}/actions/secrets\",\n    \"GET /repos/{owner}/{repo}/actions/workflows\",\n    \"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs\",\n    \"GET /repos/{owner}/{repo}/assignees\",\n    \"GET /repos/{owner}/{repo}/branches\",\n    \"GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations\",\n    \"GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs\",\n    \"GET /repos/{owner}/{repo}/code-scanning/alerts\",\n    \"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances\",\n    \"GET /repos/{owner}/{repo}/code-scanning/analyses\",\n    \"GET /repos/{owner}/{repo}/codespaces\",\n    \"GET /repos/{owner}/{repo}/codespaces/devcontainers\",\n    \"GET /repos/{owner}/{repo}/codespaces/secrets\",\n    \"GET /repos/{owner}/{repo}/collaborators\",\n    \"GET /repos/{owner}/{repo}/comments\",\n    \"GET /repos/{owner}/{repo}/comments/{comment_id}/reactions\",\n    \"GET /repos/{owner}/{repo}/commits\",\n    \"GET /repos/{owner}/{repo}/commits/{commit_sha}/comments\",\n    \"GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls\",\n    \"GET /repos/{owner}/{repo}/commits/{ref}/check-runs\",\n    \"GET /repos/{owner}/{repo}/commits/{ref}/check-suites\",\n    \"GET /repos/{owner}/{repo}/commits/{ref}/status\",\n    \"GET /repos/{owner}/{repo}/commits/{ref}/statuses\",\n    \"GET /repos/{owner}/{repo}/contributors\",\n    \"GET /repos/{owner}/{repo}/dependabot/secrets\",\n    \"GET /repos/{owner}/{repo}/deployments\",\n    \"GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses\",\n    \"GET /repos/{owner}/{repo}/environments\",\n    \"GET /repos/{owner}/{repo}/events\",\n    \"GET /repos/{owner}/{repo}/forks\",\n    \"GET /repos/{owner}/{repo}/git/matching-refs/{ref}\",\n    \"GET /repos/{owner}/{repo}/hooks\",\n    \"GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries\",\n    \"GET /repos/{owner}/{repo}/invitations\",\n    \"GET /repos/{owner}/{repo}/issues\",\n    \"GET /repos/{owner}/{repo}/issues/comments\",\n    \"GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions\",\n    \"GET /repos/{owner}/{repo}/issues/events\",\n    \"GET /repos/{owner}/{repo}/issues/{issue_number}/comments\",\n    \"GET /repos/{owner}/{repo}/issues/{issue_number}/events\",\n    \"GET /repos/{owner}/{repo}/issues/{issue_number}/labels\",\n    \"GET /repos/{owner}/{repo}/issues/{issue_number}/reactions\",\n    \"GET /repos/{owner}/{repo}/issues/{issue_number}/timeline\",\n    \"GET /repos/{owner}/{repo}/keys\",\n    \"GET /repos/{owner}/{repo}/labels\",\n    \"GET /repos/{owner}/{repo}/milestones\",\n    \"GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels\",\n    \"GET /repos/{owner}/{repo}/notifications\",\n    \"GET /repos/{owner}/{repo}/pages/builds\",\n    \"GET /repos/{owner}/{repo}/projects\",\n    \"GET /repos/{owner}/{repo}/pulls\",\n    \"GET /repos/{owner}/{repo}/pulls/comments\",\n    \"GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions\",\n    \"GET /repos/{owner}/{repo}/pulls/{pull_number}/comments\",\n    \"GET /repos/{owner}/{repo}/pulls/{pull_number}/commits\",\n    \"GET /repos/{owner}/{repo}/pulls/{pull_number}/files\",\n    \"GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\",\n    \"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews\",\n    \"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments\",\n    \"GET /repos/{owner}/{repo}/releases\",\n    \"GET /repos/{owner}/{repo}/releases/{release_id}/assets\",\n    \"GET /repos/{owner}/{repo}/releases/{release_id}/reactions\",\n    \"GET /repos/{owner}/{repo}/secret-scanning/alerts\",\n    \"GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations\",\n    \"GET /repos/{owner}/{repo}/stargazers\",\n    \"GET /repos/{owner}/{repo}/subscribers\",\n    \"GET /repos/{owner}/{repo}/tags\",\n    \"GET /repos/{owner}/{repo}/teams\",\n    \"GET /repos/{owner}/{repo}/topics\",\n    \"GET /repositories\",\n    \"GET /repositories/{repository_id}/environments/{environment_name}/secrets\",\n    \"GET /search/code\",\n    \"GET /search/commits\",\n    \"GET /search/issues\",\n    \"GET /search/labels\",\n    \"GET /search/repositories\",\n    \"GET /search/topics\",\n    \"GET /search/users\",\n    \"GET /teams/{team_id}/discussions\",\n    \"GET /teams/{team_id}/discussions/{discussion_number}/comments\",\n    \"GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions\",\n    \"GET /teams/{team_id}/discussions/{discussion_number}/reactions\",\n    \"GET /teams/{team_id}/invitations\",\n    \"GET /teams/{team_id}/members\",\n    \"GET /teams/{team_id}/projects\",\n    \"GET /teams/{team_id}/repos\",\n    \"GET /teams/{team_id}/teams\",\n    \"GET /user/blocks\",\n    \"GET /user/codespaces\",\n    \"GET /user/codespaces/secrets\",\n    \"GET /user/emails\",\n    \"GET /user/followers\",\n    \"GET /user/following\",\n    \"GET /user/gpg_keys\",\n    \"GET /user/installations\",\n    \"GET /user/installations/{installation_id}/repositories\",\n    \"GET /user/issues\",\n    \"GET /user/keys\",\n    \"GET /user/marketplace_purchases\",\n    \"GET /user/marketplace_purchases/stubbed\",\n    \"GET /user/memberships/orgs\",\n    \"GET /user/migrations\",\n    \"GET /user/migrations/{migration_id}/repositories\",\n    \"GET /user/orgs\",\n    \"GET /user/packages\",\n    \"GET /user/packages/{package_type}/{package_name}/versions\",\n    \"GET /user/public_emails\",\n    \"GET /user/repos\",\n    \"GET /user/repository_invitations\",\n    \"GET /user/starred\",\n    \"GET /user/subscriptions\",\n    \"GET /user/teams\",\n    \"GET /users\",\n    \"GET /users/{username}/events\",\n    \"GET /users/{username}/events/orgs/{org}\",\n    \"GET /users/{username}/events/public\",\n    \"GET /users/{username}/followers\",\n    \"GET /users/{username}/following\",\n    \"GET /users/{username}/gists\",\n    \"GET /users/{username}/gpg_keys\",\n    \"GET /users/{username}/keys\",\n    \"GET /users/{username}/orgs\",\n    \"GET /users/{username}/packages\",\n    \"GET /users/{username}/projects\",\n    \"GET /users/{username}/received_events\",\n    \"GET /users/{username}/received_events/public\",\n    \"GET /users/{username}/repos\",\n    \"GET /users/{username}/starred\",\n    \"GET /users/{username}/subscriptions\",\n];\n","import { paginatingEndpoints, } from \"./generated/paginating-endpoints\";\nexport { paginatingEndpoints } from \"./generated/paginating-endpoints\";\nexport function isPaginatingEndpoint(arg) {\n    if (typeof arg === \"string\") {\n        return paginatingEndpoints.includes(arg);\n    }\n    else {\n        return false;\n    }\n}\n","import { VERSION } from \"./version\";\nimport { paginate } from \"./paginate\";\nimport { iterator } from \"./iterator\";\nexport { composePaginateRest } from \"./compose-paginate\";\nexport { isPaginatingEndpoint, paginatingEndpoints, } from \"./paginating-endpoints\";\n/**\n * @param octokit Octokit instance\n * @param options Options passed to Octokit constructor\n */\nexport function paginateRest(octokit) {\n    return {\n        paginate: Object.assign(paginate.bind(null, octokit), {\n            iterator: iterator.bind(null, octokit),\n        }),\n    };\n}\npaginateRest.VERSION = VERSION;\n",null,null,null,null,"import crypto from 'crypto';\nconst rnds8Pool = new Uint8Array(256); // # of random values to pre-allocate\n\nlet poolPtr = rnds8Pool.length;\nexport default function rng() {\n  if (poolPtr > rnds8Pool.length - 16) {\n    crypto.randomFillSync(rnds8Pool);\n    poolPtr = 0;\n  }\n\n  return rnds8Pool.slice(poolPtr, poolPtr += 16);\n}","export default /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;","import REGEX from './regex.js';\n\nfunction validate(uuid) {\n  return typeof uuid === 'string' && REGEX.test(uuid);\n}\n\nexport default validate;","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nconst byteToHex = [];\n\nfor (let i = 0; i < 256; ++i) {\n  byteToHex.push((i + 0x100).toString(16).substr(1));\n}\n\nfunction stringify(arr, offset = 0) {\n  // Note: Be careful editing this code!  It's been tuned for performance\n  // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n  const uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID.  If this throws, it's likely due to one\n  // of the following:\n  // - One or more input array values don't map to a hex octet (leading to\n  // \"undefined\" in the uuid)\n  // - Invalid input values for the RFC `version` or `variant` fields\n\n  if (!validate(uuid)) {\n    throw TypeError('Stringified UUID is invalid');\n  }\n\n  return uuid;\n}\n\nexport default stringify;","import rng from './rng.js';\nimport stringify from './stringify.js'; // **`v1()` - Generate time-based UUID**\n//\n// Inspired by https://github.com/LiosK/UUID.js\n// and http://docs.python.org/library/uuid.html\n\nlet _nodeId;\n\nlet _clockseq; // Previous uuid creation time\n\n\nlet _lastMSecs = 0;\nlet _lastNSecs = 0; // See https://github.com/uuidjs/uuid for API details\n\nfunction v1(options, buf, offset) {\n  let i = buf && offset || 0;\n  const b = buf || new Array(16);\n  options = options || {};\n  let node = options.node || _nodeId;\n  let clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq; // node and clockseq need to be initialized to random values if they're not\n  // specified.  We do this lazily to minimize issues related to insufficient\n  // system entropy.  See #189\n\n  if (node == null || clockseq == null) {\n    const seedBytes = options.random || (options.rng || rng)();\n\n    if (node == null) {\n      // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1)\n      node = _nodeId = [seedBytes[0] | 0x01, seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]];\n    }\n\n    if (clockseq == null) {\n      // Per 4.2.2, randomize (14 bit) clockseq\n      clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff;\n    }\n  } // UUID timestamps are 100 nano-second units since the Gregorian epoch,\n  // (1582-10-15 00:00).  JSNumbers aren't precise enough for this, so\n  // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs'\n  // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00.\n\n\n  let msecs = options.msecs !== undefined ? options.msecs : Date.now(); // Per 4.2.1.2, use count of uuid's generated during the current clock\n  // cycle to simulate higher resolution clock\n\n  let nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1; // Time since last uuid creation (in msecs)\n\n  const dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 10000; // Per 4.2.1.2, Bump clockseq on clock regression\n\n  if (dt < 0 && options.clockseq === undefined) {\n    clockseq = clockseq + 1 & 0x3fff;\n  } // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new\n  // time interval\n\n\n  if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) {\n    nsecs = 0;\n  } // Per 4.2.1.2 Throw error if too many uuids are requested\n\n\n  if (nsecs >= 10000) {\n    throw new Error(\"uuid.v1(): Can't create more than 10M uuids/sec\");\n  }\n\n  _lastMSecs = msecs;\n  _lastNSecs = nsecs;\n  _clockseq = clockseq; // Per 4.1.4 - Convert from unix epoch to Gregorian epoch\n\n  msecs += 12219292800000; // `time_low`\n\n  const tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000;\n  b[i++] = tl >>> 24 & 0xff;\n  b[i++] = tl >>> 16 & 0xff;\n  b[i++] = tl >>> 8 & 0xff;\n  b[i++] = tl & 0xff; // `time_mid`\n\n  const tmh = msecs / 0x100000000 * 10000 & 0xfffffff;\n  b[i++] = tmh >>> 8 & 0xff;\n  b[i++] = tmh & 0xff; // `time_high_and_version`\n\n  b[i++] = tmh >>> 24 & 0xf | 0x10; // include version\n\n  b[i++] = tmh >>> 16 & 0xff; // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant)\n\n  b[i++] = clockseq >>> 8 | 0x80; // `clock_seq_low`\n\n  b[i++] = clockseq & 0xff; // `node`\n\n  for (let n = 0; n < 6; ++n) {\n    b[i + n] = node[n];\n  }\n\n  return buf || stringify(b);\n}\n\nexport default v1;","import validate from './validate.js';\n\nfunction parse(uuid) {\n  if (!validate(uuid)) {\n    throw TypeError('Invalid UUID');\n  }\n\n  let v;\n  const arr = new Uint8Array(16); // Parse ########-....-....-....-............\n\n  arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24;\n  arr[1] = v >>> 16 & 0xff;\n  arr[2] = v >>> 8 & 0xff;\n  arr[3] = v & 0xff; // Parse ........-####-....-....-............\n\n  arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8;\n  arr[5] = v & 0xff; // Parse ........-....-####-....-............\n\n  arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8;\n  arr[7] = v & 0xff; // Parse ........-....-....-####-............\n\n  arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8;\n  arr[9] = v & 0xff; // Parse ........-....-....-....-############\n  // (Use \"/\" to avoid 32-bit truncation when bit-shifting high-order bytes)\n\n  arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 0x10000000000 & 0xff;\n  arr[11] = v / 0x100000000 & 0xff;\n  arr[12] = v >>> 24 & 0xff;\n  arr[13] = v >>> 16 & 0xff;\n  arr[14] = v >>> 8 & 0xff;\n  arr[15] = v & 0xff;\n  return arr;\n}\n\nexport default parse;","import stringify from './stringify.js';\nimport parse from './parse.js';\n\nfunction stringToBytes(str) {\n  str = unescape(encodeURIComponent(str)); // UTF8 escape\n\n  const bytes = [];\n\n  for (let i = 0; i < str.length; ++i) {\n    bytes.push(str.charCodeAt(i));\n  }\n\n  return bytes;\n}\n\nexport const DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8';\nexport const URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8';\nexport default function (name, version, hashfunc) {\n  function generateUUID(value, namespace, buf, offset) {\n    if (typeof value === 'string') {\n      value = stringToBytes(value);\n    }\n\n    if (typeof namespace === 'string') {\n      namespace = parse(namespace);\n    }\n\n    if (namespace.length !== 16) {\n      throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)');\n    } // Compute hash of namespace and value, Per 4.3\n    // Future: Use spread syntax when supported on all platforms, e.g. `bytes =\n    // hashfunc([...namespace, ... value])`\n\n\n    let bytes = new Uint8Array(16 + value.length);\n    bytes.set(namespace);\n    bytes.set(value, namespace.length);\n    bytes = hashfunc(bytes);\n    bytes[6] = bytes[6] & 0x0f | version;\n    bytes[8] = bytes[8] & 0x3f | 0x80;\n\n    if (buf) {\n      offset = offset || 0;\n\n      for (let i = 0; i < 16; ++i) {\n        buf[offset + i] = bytes[i];\n      }\n\n      return buf;\n    }\n\n    return stringify(bytes);\n  } // Function#name is not settable on some platforms (#270)\n\n\n  try {\n    generateUUID.name = name; // eslint-disable-next-line no-empty\n  } catch (err) {} // For CommonJS default export support\n\n\n  generateUUID.DNS = DNS;\n  generateUUID.URL = URL;\n  return generateUUID;\n}","import crypto from 'crypto';\n\nfunction md5(bytes) {\n  if (Array.isArray(bytes)) {\n    bytes = Buffer.from(bytes);\n  } else if (typeof bytes === 'string') {\n    bytes = Buffer.from(bytes, 'utf8');\n  }\n\n  return crypto.createHash('md5').update(bytes).digest();\n}\n\nexport default md5;","import v35 from './v35.js';\nimport md5 from './md5.js';\nconst v3 = v35('v3', 0x30, md5);\nexport default v3;","import rng from './rng.js';\nimport stringify from './stringify.js';\n\nfunction v4(options, buf, offset) {\n  options = options || {};\n  const rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n  rnds[6] = rnds[6] & 0x0f | 0x40;\n  rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n  if (buf) {\n    offset = offset || 0;\n\n    for (let i = 0; i < 16; ++i) {\n      buf[offset + i] = rnds[i];\n    }\n\n    return buf;\n  }\n\n  return stringify(rnds);\n}\n\nexport default v4;","import crypto from 'crypto';\n\nfunction sha1(bytes) {\n  if (Array.isArray(bytes)) {\n    bytes = Buffer.from(bytes);\n  } else if (typeof bytes === 'string') {\n    bytes = Buffer.from(bytes, 'utf8');\n  }\n\n  return crypto.createHash('sha1').update(bytes).digest();\n}\n\nexport default sha1;","import v35 from './v35.js';\nimport sha1 from './sha1.js';\nconst v5 = v35('v5', 0x50, sha1);\nexport default v5;","export default '00000000-0000-0000-0000-000000000000';","import validate from './validate.js';\n\nfunction version(uuid) {\n  if (!validate(uuid)) {\n    throw TypeError('Invalid UUID');\n  }\n\n  return parseInt(uuid.substr(14, 1), 16);\n}\n\nexport default version;","export { default as v1 } from './v1.js';\nexport { default as v3 } from './v3.js';\nexport { default as v4 } from './v4.js';\nexport { default as v5 } from './v5.js';\nexport { default as NIL } from './nil.js';\nexport { default as version } from './version.js';\nexport { default as validate } from './validate.js';\nexport { default as stringify } from './stringify.js';\nexport { default as parse } from './parse.js';",null,null,null,null,null,null,"/**\n * Helpers.\n */\n\nvar s = 1000;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nvar w = d * 7;\nvar y = d * 365.25;\n\n/**\n * Parse or format the given `val`.\n *\n * Options:\n *\n *  - `long` verbose formatting [false]\n *\n * @param {String|Number} val\n * @param {Object} [options]\n * @throws {Error} throw an error if val is not a non-empty string or a number\n * @return {String|Number}\n * @api public\n */\n\nmodule.exports = function(val, options) {\n  options = options || {};\n  var type = typeof val;\n  if (type === 'string' && val.length > 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","\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","/* 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","'use strict';\n\nmodule.exports = (flag, argv = process.argv) => {\n\tconst prefix = flag.startsWith('-') ? '' : (flag.length === 1 ? '-' : '--');\n\tconst position = argv.indexOf(prefix + flag);\n\tconst terminatorPosition = argv.indexOf('--');\n\treturn position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);\n};\n","'use strict';\nconst os = require('os');\nconst tty = require('tty');\nconst hasFlag = require('has-flag');\n\nconst {env} = process;\n\nlet forceColor;\nif (hasFlag('no-color') ||\n\thasFlag('no-colors') ||\n\thasFlag('color=false') ||\n\thasFlag('color=never')) {\n\tforceColor = 0;\n} else if (hasFlag('color') ||\n\thasFlag('colors') ||\n\thasFlag('color=true') ||\n\thasFlag('color=always')) {\n\tforceColor = 1;\n}\n\nif ('FORCE_COLOR' in env) {\n\tif (env.FORCE_COLOR === 'true') {\n\t\tforceColor = 1;\n\t} else if (env.FORCE_COLOR === 'false') {\n\t\tforceColor = 0;\n\t} else {\n\t\tforceColor = env.FORCE_COLOR.length === 0 ? 1 : Math.min(parseInt(env.FORCE_COLOR, 10), 3);\n\t}\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(haveStream, streamIsTTY) {\n\tif (forceColor === 0) {\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 (haveStream && !streamIsTTY && forceColor === undefined) {\n\t\treturn 0;\n\t}\n\n\tconst min = forceColor || 0;\n\n\tif (env.TERM === 'dumb') {\n\t\treturn min;\n\t}\n\n\tif (process.platform === 'win32') {\n\t\t// Windows 10 build 10586 is the first Windows release that supports 256 colors.\n\t\t// Windows 10 build 14931 is the first release that supports 16m/TrueColor.\n\t\tconst osRelease = os.release().split('.');\n\t\tif (\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', 'GITHUB_ACTIONS', 'BUILDKITE'].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\treturn min;\n}\n\nfunction getSupportLevel(stream) {\n\tconst level = supportsColor(stream, stream && stream.isTTY);\n\treturn translateLevel(level);\n}\n\nmodule.exports = {\n\tsupportsColor: getSupportLevel,\n\tstdout: translateLevel(supportsColor(true, tty.isatty(1))),\n\tstderr: translateLevel(supportsColor(true, tty.isatty(2)))\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","/**\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",null,null,null,"'use strict';\nconst fs = require('fs');\n\nmodule.exports = fp => new Promise(resolve => {\n\tfs.access(fp, err => {\n\t\tresolve(!err);\n\t});\n});\n\nmodule.exports.sync = fp => {\n\ttry {\n\t\tfs.accessSync(fp);\n\t\treturn true;\n\t} catch (err) {\n\t\treturn false;\n\t}\n};\n","'use strict';\nmodule.exports = cb => new Promise(resolve => {\n\tresolve(cb());\n});\n","'use strict';\nconst pTry = require('p-try');\n\nmodule.exports = concurrency => {\n\tif (concurrency < 1) {\n\t\tthrow new TypeError('Expected `concurrency` to be a number from 1 and up');\n\t}\n\n\tconst queue = [];\n\tlet activeCount = 0;\n\n\tconst next = () => {\n\t\tactiveCount--;\n\n\t\tif (queue.length > 0) {\n\t\t\tqueue.shift()();\n\t\t}\n\t};\n\n\treturn fn => new Promise((resolve, reject) => {\n\t\tconst run = () => {\n\t\t\tactiveCount++;\n\n\t\t\tpTry(fn).then(\n\t\t\t\tval => {\n\t\t\t\t\tresolve(val);\n\t\t\t\t\tnext();\n\t\t\t\t},\n\t\t\t\terr => {\n\t\t\t\t\treject(err);\n\t\t\t\t\tnext();\n\t\t\t\t}\n\t\t\t);\n\t\t};\n\n\t\tif (activeCount < concurrency) {\n\t\t\trun();\n\t\t} else {\n\t\t\tqueue.push(run);\n\t\t}\n\t});\n};\n","'use strict';\nconst pLimit = require('p-limit');\n\nclass EndError extends Error {\n\tconstructor(value) {\n\t\tsuper();\n\t\tthis.value = value;\n\t}\n}\n\n// the input can also be a promise, so we `Promise.all()` them both\nconst finder = el => Promise.all(el).then(val => val[1] === true && Promise.reject(new EndError(val[0])));\n\nmodule.exports = (iterable, tester, opts) => {\n\topts = Object.assign({\n\t\tconcurrency: Infinity,\n\t\tpreserveOrder: true\n\t}, opts);\n\n\tconst limit = pLimit(opts.concurrency);\n\n\t// start all the promises concurrently with optional limit\n\tconst items = Array.from(iterable).map(el => [el, limit(() => Promise.resolve(el).then(tester))]);\n\n\t// check the promises either serially or concurrently\n\tconst checkLimit = pLimit(opts.preserveOrder ? 1 : Infinity);\n\n\treturn Promise.all(items.map(el => checkLimit(() => finder(el))))\n\t\t.then(() => {})\n\t\t.catch(err => err instanceof EndError ? err.value : Promise.reject(err));\n};\n","'use strict';\nconst path = require('path');\nconst pathExists = require('path-exists');\nconst pLocate = require('p-locate');\n\nmodule.exports = (iterable, opts) => {\n\topts = Object.assign({\n\t\tcwd: process.cwd()\n\t}, opts);\n\n\treturn pLocate(iterable, el => pathExists(path.resolve(opts.cwd, el)), opts);\n};\n\nmodule.exports.sync = (iterable, opts) => {\n\topts = Object.assign({\n\t\tcwd: process.cwd()\n\t}, opts);\n\n\tfor (const el of iterable) {\n\t\tif (pathExists.sync(path.resolve(opts.cwd, el))) {\n\t\t\treturn el;\n\t\t}\n\t}\n};\n","'use strict';\nconst path = require('path');\nconst locatePath = require('locate-path');\n\nmodule.exports = (filename, opts) => {\n\topts = opts || {};\n\n\tconst startDir = path.resolve(opts.cwd || '');\n\tconst root = path.parse(startDir).root;\n\n\tconst filenames = [].concat(filename);\n\n\treturn new Promise(resolve => {\n\t\t(function find(dir) {\n\t\t\tlocatePath(filenames, {cwd: dir}).then(file => {\n\t\t\t\tif (file) {\n\t\t\t\t\tresolve(path.join(dir, file));\n\t\t\t\t} else if (dir === root) {\n\t\t\t\t\tresolve(null);\n\t\t\t\t} else {\n\t\t\t\t\tfind(path.dirname(dir));\n\t\t\t\t}\n\t\t\t});\n\t\t})(startDir);\n\t});\n};\n\nmodule.exports.sync = (filename, opts) => {\n\topts = opts || {};\n\n\tlet dir = path.resolve(opts.cwd || '');\n\tconst root = path.parse(dir).root;\n\n\tconst filenames = [].concat(filename);\n\n\t// eslint-disable-next-line no-constant-condition\n\twhile (true) {\n\t\tconst file = locatePath.sync(filenames, {cwd: dir});\n\n\t\tif (file) {\n\t\t\treturn path.join(dir, file);\n\t\t} else if (dir === root) {\n\t\t\treturn null;\n\t\t}\n\n\t\tdir = path.dirname(dir);\n\t}\n};\n","'use strict';\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nmodule.exports = function () {\n  return new IgnoreBase();\n};\n\n// A simple implementation of make-array\nfunction make_array(subject) {\n  return Array.isArray(subject) ? subject : [subject];\n}\n\nvar REGEX_BLANK_LINE = /^\\s+$/;\nvar REGEX_LEADING_EXCAPED_EXCLAMATION = /^\\\\\\!/;\nvar REGEX_LEADING_EXCAPED_HASH = /^\\\\#/;\nvar SLASH = '/';\nvar KEY_IGNORE = typeof Symbol !== 'undefined' ? Symbol.for('node-ignore')\n/* istanbul ignore next */\n: 'node-ignore';\n\nvar IgnoreBase = function () {\n  function IgnoreBase() {\n    _classCallCheck(this, IgnoreBase);\n\n    this._rules = [];\n    this[KEY_IGNORE] = true;\n    this._initCache();\n  }\n\n  _createClass(IgnoreBase, [{\n    key: '_initCache',\n    value: function _initCache() {\n      this._cache = {};\n    }\n\n    // @param {Array.|string|Ignore} pattern\n\n  }, {\n    key: 'add',\n    value: function add(pattern) {\n      this._added = false;\n\n      if (typeof pattern === 'string') {\n        pattern = pattern.split(/\\r?\\n/g);\n      }\n\n      make_array(pattern).forEach(this._addPattern, this);\n\n      // Some rules have just added to the ignore,\n      // making the behavior changed.\n      if (this._added) {\n        this._initCache();\n      }\n\n      return this;\n    }\n\n    // legacy\n\n  }, {\n    key: 'addPattern',\n    value: function addPattern(pattern) {\n      return this.add(pattern);\n    }\n  }, {\n    key: '_addPattern',\n    value: function _addPattern(pattern) {\n      // #32\n      if (pattern && pattern[KEY_IGNORE]) {\n        this._rules = this._rules.concat(pattern._rules);\n        this._added = true;\n        return;\n      }\n\n      if (this._checkPattern(pattern)) {\n        var rule = this._createRule(pattern);\n        this._added = true;\n        this._rules.push(rule);\n      }\n    }\n  }, {\n    key: '_checkPattern',\n    value: function _checkPattern(pattern) {\n      // > A blank line matches no files, so it can serve as a separator for readability.\n      return pattern && typeof pattern === 'string' && !REGEX_BLANK_LINE.test(pattern)\n\n      // > A line starting with # serves as a comment.\n      && pattern.indexOf('#') !== 0;\n    }\n  }, {\n    key: 'filter',\n    value: function filter(paths) {\n      var _this = this;\n\n      return make_array(paths).filter(function (path) {\n        return _this._filter(path);\n      });\n    }\n  }, {\n    key: 'createFilter',\n    value: function createFilter() {\n      var _this2 = this;\n\n      return function (path) {\n        return _this2._filter(path);\n      };\n    }\n  }, {\n    key: 'ignores',\n    value: function ignores(path) {\n      return !this._filter(path);\n    }\n  }, {\n    key: '_createRule',\n    value: function _createRule(pattern) {\n      var origin = pattern;\n      var negative = false;\n\n      // > An optional prefix \"!\" which negates the pattern;\n      if (pattern.indexOf('!') === 0) {\n        negative = true;\n        pattern = pattern.substr(1);\n      }\n\n      pattern = pattern\n      // > Put a backslash (\"\\\") in front of the first \"!\" for patterns that begin with a literal \"!\", for example, `\"\\!important!.txt\"`.\n      .replace(REGEX_LEADING_EXCAPED_EXCLAMATION, '!')\n      // > Put a backslash (\"\\\") in front of the first hash for patterns that begin with a hash.\n      .replace(REGEX_LEADING_EXCAPED_HASH, '#');\n\n      var regex = make_regex(pattern, negative);\n\n      return {\n        origin: origin,\n        pattern: pattern,\n        negative: negative,\n        regex: regex\n      };\n    }\n\n    // @returns `Boolean` true if the `path` is NOT ignored\n\n  }, {\n    key: '_filter',\n    value: function _filter(path, slices) {\n      if (!path) {\n        return false;\n      }\n\n      if (path in this._cache) {\n        return this._cache[path];\n      }\n\n      if (!slices) {\n        // path/to/a.js\n        // ['path', 'to', 'a.js']\n        slices = path.split(SLASH);\n      }\n\n      slices.pop();\n\n      return this._cache[path] = slices.length\n      // > It is not possible to re-include a file if a parent directory of that file is excluded.\n      // If the path contains a parent directory, check the parent first\n      ? this._filter(slices.join(SLASH) + SLASH, slices) && this._test(path)\n\n      // Or only test the path\n      : this._test(path);\n    }\n\n    // @returns {Boolean} true if a file is NOT ignored\n\n  }, {\n    key: '_test',\n    value: function _test(path) {\n      // Explicitly define variable type by setting matched to `0`\n      var matched = 0;\n\n      this._rules.forEach(function (rule) {\n        // if matched = true, then we only test negative rules\n        // if matched = false, then we test non-negative rules\n        if (!(matched ^ rule.negative)) {\n          matched = rule.negative ^ rule.regex.test(path);\n        }\n      });\n\n      return !matched;\n    }\n  }]);\n\n  return IgnoreBase;\n}();\n\n// > If the pattern ends with a slash,\n// > it is removed for the purpose of the following description,\n// > but it would only find a match with a directory.\n// > In other words, foo/ will match a directory foo and paths underneath it,\n// > but will not match a regular file or a symbolic link foo\n// >  (this is consistent with the way how pathspec works in general in Git).\n// '`foo/`' will not match regular file '`foo`' or symbolic link '`foo`'\n// -> ignore-rules will not deal with it, because it costs extra `fs.stat` call\n//      you could use option `mark: true` with `glob`\n\n// '`foo/`' should not continue with the '`..`'\n\n\nvar DEFAULT_REPLACER_PREFIX = [\n\n// > Trailing spaces are ignored unless they are quoted with backslash (\"\\\")\n[\n// (a\\ ) -> (a )\n// (a  ) -> (a)\n// (a \\ ) -> (a  )\n/\\\\?\\s+$/, function (match) {\n  return match.indexOf('\\\\') === 0 ? ' ' : '';\n}],\n\n// replace (\\ ) with ' '\n[/\\\\\\s/g, function () {\n  return ' ';\n}],\n\n// Escape metacharacters\n// which is written down by users but means special for regular expressions.\n\n// > There are 12 characters with special meanings:\n// > - the backslash \\,\n// > - the caret ^,\n// > - the dollar sign $,\n// > - the period or dot .,\n// > - the vertical bar or pipe symbol |,\n// > - the question mark ?,\n// > - the asterisk or star *,\n// > - the plus sign +,\n// > - the opening parenthesis (,\n// > - the closing parenthesis ),\n// > - and the opening square bracket [,\n// > - the opening curly brace {,\n// > These special characters are often called \"metacharacters\".\n[/[\\\\\\^$.|?*+()\\[{]/g, function (match) {\n  return '\\\\' + match;\n}],\n\n// leading slash\n[\n\n// > A leading slash matches the beginning of the pathname.\n// > For example, \"/*.c\" matches \"cat-file.c\" but not \"mozilla-sha1/sha1.c\".\n// A leading slash matches the beginning of the pathname\n/^\\//, function () {\n  return '^';\n}],\n\n// replace special metacharacter slash after the leading slash\n[/\\//g, function () {\n  return '\\\\/';\n}], [\n// > A leading \"**\" followed by a slash means match in all directories.\n// > For example, \"**/foo\" matches file or directory \"foo\" anywhere,\n// > the same as pattern \"foo\".\n// > \"**/foo/bar\" matches file or directory \"bar\" anywhere that is directly under directory \"foo\".\n// Notice that the '*'s have been replaced as '\\\\*'\n/^\\^*\\\\\\*\\\\\\*\\\\\\//,\n\n// '**/foo' <-> 'foo'\nfunction () {\n  return '^(?:.*\\\\/)?';\n}]];\n\nvar DEFAULT_REPLACER_SUFFIX = [\n// starting\n[\n// there will be no leading '/' (which has been replaced by section \"leading slash\")\n// If starts with '**', adding a '^' to the regular expression also works\n/^(?=[^\\^])/, function () {\n  return !/\\/(?!$)/.test(this)\n  // > If the pattern does not contain a slash /, Git treats it as a shell glob pattern\n  // Actually, if there is only a trailing slash, git also treats it as a shell glob pattern\n  ? '(?:^|\\\\/)'\n\n  // > Otherwise, Git treats the pattern as a shell glob suitable for consumption by fnmatch(3)\n  : '^';\n}],\n\n// two globstars\n[\n// Use lookahead assertions so that we could match more than one `'/**'`\n/\\\\\\/\\\\\\*\\\\\\*(?=\\\\\\/|$)/g,\n\n// Zero, one or several directories\n// should not use '*', or it will be replaced by the next replacer\n\n// Check if it is not the last `'/**'`\nfunction (match, index, str) {\n  return index + 6 < str.length\n\n  // case: /**/\n  // > A slash followed by two consecutive asterisks then a slash matches zero or more directories.\n  // > For example, \"a/**/b\" matches \"a/b\", \"a/x/b\", \"a/x/y/b\" and so on.\n  // '/**/'\n  ? '(?:\\\\/[^\\\\/]+)*'\n\n  // case: /**\n  // > A trailing `\"/**\"` matches everything inside.\n\n  // #21: everything inside but it should not include the current folder\n  : '\\\\/.+';\n}],\n\n// intermediate wildcards\n[\n// Never replace escaped '*'\n// ignore rule '\\*' will match the path '*'\n\n// 'abc.*/' -> go\n// 'abc.*'  -> skip this rule\n/(^|[^\\\\]+)\\\\\\*(?=.+)/g,\n\n// '*.js' matches '.js'\n// '*.js' doesn't match 'abc'\nfunction (match, p1) {\n  return p1 + '[^\\\\/]*';\n}],\n\n// trailing wildcard\n[/(\\^|\\\\\\/)?\\\\\\*$/, function (match, p1) {\n  return (p1\n  // '\\^':\n  // '/*' does not match ''\n  // '/*' does not match everything\n\n  // '\\\\\\/':\n  // 'abc/*' does not match 'abc/'\n  ? p1 + '[^/]+'\n\n  // 'a*' matches 'a'\n  // 'a*' matches 'aa'\n  : '[^/]*') + '(?=$|\\\\/$)';\n}], [\n// unescape\n/\\\\\\\\\\\\/g, function () {\n  return '\\\\';\n}]];\n\nvar POSITIVE_REPLACERS = [].concat(DEFAULT_REPLACER_PREFIX, [\n\n// 'f'\n// matches\n// - /f(end)\n// - /f/\n// - (start)f(end)\n// - (start)f/\n// doesn't match\n// - oof\n// - foo\n// pseudo:\n// -> (^|/)f(/|$)\n\n// ending\n[\n// 'js' will not match 'js.'\n// 'ab' will not match 'abc'\n/(?:[^*\\/])$/,\n\n// 'js*' will not match 'a.js'\n// 'js/' will not match 'a.js'\n// 'js' will match 'a.js' and 'a.js/'\nfunction (match) {\n  return match + '(?=$|\\\\/)';\n}]], DEFAULT_REPLACER_SUFFIX);\n\nvar NEGATIVE_REPLACERS = [].concat(DEFAULT_REPLACER_PREFIX, [\n\n// #24, #38\n// The MISSING rule of [gitignore docs](https://git-scm.com/docs/gitignore)\n// A negative pattern without a trailing wildcard should not\n// re-include the things inside that directory.\n\n// eg:\n// ['node_modules/*', '!node_modules']\n// should ignore `node_modules/a.js`\n[/(?:[^*])$/, function (match) {\n  return match + '(?=$|\\\\/$)';\n}]], DEFAULT_REPLACER_SUFFIX);\n\n// A simple cache, because an ignore rule only has only one certain meaning\nvar cache = {};\n\n// @param {pattern}\nfunction make_regex(pattern, negative) {\n  var r = cache[pattern];\n  if (r) {\n    return r;\n  }\n\n  var replacers = negative ? NEGATIVE_REPLACERS : POSITIVE_REPLACERS;\n\n  var source = replacers.reduce(function (prev, current) {\n    return prev.replace(current[0], current[1].bind(pattern));\n  }, pattern);\n\n  return cache[pattern] = new RegExp(source, 'i');\n}\n\n// Windows\n// --------------------------------------------------------------\n/* istanbul ignore if  */\nif (\n// Detect `process` so that it can run in browsers.\ntypeof process !== 'undefined' && (process.env && process.env.IGNORE_TEST_WIN32 || process.platform === 'win32')) {\n\n  var filter = IgnoreBase.prototype._filter;\n  var make_posix = function make_posix(str) {\n    return (/^\\\\\\\\\\?\\\\/.test(str) || /[^\\x00-\\x80]+/.test(str) ? str : str.replace(/\\\\/g, '/')\n    );\n  };\n\n  IgnoreBase.prototype._filter = function (path, slices) {\n    path = make_posix(path);\n    return filter.call(this, path, slices);\n  };\n}\n","/*!\n * is-directory \n *\n * Copyright (c) 2014-2015, Jon Schlinkert.\n * Licensed under the MIT License.\n */\n\n'use strict';\n\nvar fs = require('fs');\n\n/**\n * async\n */\n\nfunction isDirectory(filepath, cb) {\n  if (typeof cb !== 'function') {\n    throw new Error('expected a callback function');\n  }\n\n  if (typeof filepath !== 'string') {\n    cb(new Error('expected filepath to be a string'));\n    return;\n  }\n\n  fs.stat(filepath, function(err, stats) {\n    if (err) {\n      if (err.code === 'ENOENT') {\n        cb(null, false);\n        return;\n      }\n      cb(err);\n      return;\n    }\n    cb(null, stats.isDirectory());\n  });\n}\n\n/**\n * sync\n */\n\nisDirectory.sync = function isDirectorySync(filepath) {\n  if (typeof filepath !== 'string') {\n    throw new Error('expected filepath to be a string');\n  }\n\n  try {\n    var stat = fs.statSync(filepath);\n    return stat.isDirectory();\n  } catch (err) {\n    if (err.code === 'ENOENT') {\n      return false;\n    } else {\n      throw err;\n    }\n  }\n  return false;\n};\n\n/**\n * Expose `isDirectory`\n */\n\nmodule.exports = isDirectory;\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nvar pathModule = require('path');\nvar isWindows = process.platform === 'win32';\nvar fs = require('fs');\n\n// JavaScript implementation of realpath, ported from node pre-v6\n\nvar DEBUG = process.env.NODE_DEBUG && /fs/.test(process.env.NODE_DEBUG);\n\nfunction rethrow() {\n  // Only enable in debug mode. A backtrace uses ~1000 bytes of heap space and\n  // is fairly slow to generate.\n  var callback;\n  if (DEBUG) {\n    var backtrace = new Error;\n    callback = debugCallback;\n  } else\n    callback = missingCallback;\n\n  return callback;\n\n  function debugCallback(err) {\n    if (err) {\n      backtrace.message = err.message;\n      err = backtrace;\n      missingCallback(err);\n    }\n  }\n\n  function missingCallback(err) {\n    if (err) {\n      if (process.throwDeprecation)\n        throw err;  // Forgot a callback but don't know where? Use NODE_DEBUG=fs\n      else if (!process.noDeprecation) {\n        var msg = 'fs: missing callback ' + (err.stack || err.message);\n        if (process.traceDeprecation)\n          console.trace(msg);\n        else\n          console.error(msg);\n      }\n    }\n  }\n}\n\nfunction maybeCallback(cb) {\n  return typeof cb === 'function' ? cb : rethrow();\n}\n\nvar normalize = pathModule.normalize;\n\n// Regexp that finds the next partion of a (partial) path\n// result is [base_with_slash, base], e.g. ['somedir/', 'somedir']\nif (isWindows) {\n  var nextPartRe = /(.*?)(?:[\\/\\\\]+|$)/g;\n} else {\n  var nextPartRe = /(.*?)(?:[\\/]+|$)/g;\n}\n\n// Regex to find the device root, including trailing slash. E.g. 'c:\\\\'.\nif (isWindows) {\n  var splitRootRe = /^(?:[a-zA-Z]:|[\\\\\\/]{2}[^\\\\\\/]+[\\\\\\/][^\\\\\\/]+)?[\\\\\\/]*/;\n} else {\n  var splitRootRe = /^[\\/]*/;\n}\n\nexports.realpathSync = function realpathSync(p, cache) {\n  // make p is absolute\n  p = pathModule.resolve(p);\n\n  if (cache && Object.prototype.hasOwnProperty.call(cache, p)) {\n    return cache[p];\n  }\n\n  var original = p,\n      seenLinks = {},\n      knownHard = {};\n\n  // current character position in p\n  var pos;\n  // the partial path so far, including a trailing slash if any\n  var current;\n  // the partial path without a trailing slash (except when pointing at a root)\n  var base;\n  // the partial path scanned in the previous round, with slash\n  var previous;\n\n  start();\n\n  function start() {\n    // Skip over roots\n    var m = splitRootRe.exec(p);\n    pos = m[0].length;\n    current = m[0];\n    base = m[0];\n    previous = '';\n\n    // On windows, check that the root exists. On unix there is no need.\n    if (isWindows && !knownHard[base]) {\n      fs.lstatSync(base);\n      knownHard[base] = true;\n    }\n  }\n\n  // walk down the path, swapping out linked pathparts for their real\n  // values\n  // NB: p.length changes.\n  while (pos < p.length) {\n    // find the next part\n    nextPartRe.lastIndex = pos;\n    var result = nextPartRe.exec(p);\n    previous = current;\n    current += result[0];\n    base = previous + result[1];\n    pos = nextPartRe.lastIndex;\n\n    // continue if not a symlink\n    if (knownHard[base] || (cache && cache[base] === base)) {\n      continue;\n    }\n\n    var resolvedLink;\n    if (cache && Object.prototype.hasOwnProperty.call(cache, base)) {\n      // some known symbolic link.  no need to stat again.\n      resolvedLink = cache[base];\n    } else {\n      var stat = fs.lstatSync(base);\n      if (!stat.isSymbolicLink()) {\n        knownHard[base] = true;\n        if (cache) cache[base] = base;\n        continue;\n      }\n\n      // read the link if it wasn't read before\n      // dev/ino always return 0 on windows, so skip the check.\n      var linkTarget = null;\n      if (!isWindows) {\n        var id = stat.dev.toString(32) + ':' + stat.ino.toString(32);\n        if (seenLinks.hasOwnProperty(id)) {\n          linkTarget = seenLinks[id];\n        }\n      }\n      if (linkTarget === null) {\n        fs.statSync(base);\n        linkTarget = fs.readlinkSync(base);\n      }\n      resolvedLink = pathModule.resolve(previous, linkTarget);\n      // track this, if given a cache.\n      if (cache) cache[base] = resolvedLink;\n      if (!isWindows) seenLinks[id] = linkTarget;\n    }\n\n    // resolve the link, then start over\n    p = pathModule.resolve(resolvedLink, p.slice(pos));\n    start();\n  }\n\n  if (cache) cache[original] = p;\n\n  return p;\n};\n\n\nexports.realpath = function realpath(p, cache, cb) {\n  if (typeof cb !== 'function') {\n    cb = maybeCallback(cache);\n    cache = null;\n  }\n\n  // make p is absolute\n  p = pathModule.resolve(p);\n\n  if (cache && Object.prototype.hasOwnProperty.call(cache, p)) {\n    return process.nextTick(cb.bind(null, null, cache[p]));\n  }\n\n  var original = p,\n      seenLinks = {},\n      knownHard = {};\n\n  // current character position in p\n  var pos;\n  // the partial path so far, including a trailing slash if any\n  var current;\n  // the partial path without a trailing slash (except when pointing at a root)\n  var base;\n  // the partial path scanned in the previous round, with slash\n  var previous;\n\n  start();\n\n  function start() {\n    // Skip over roots\n    var m = splitRootRe.exec(p);\n    pos = m[0].length;\n    current = m[0];\n    base = m[0];\n    previous = '';\n\n    // On windows, check that the root exists. On unix there is no need.\n    if (isWindows && !knownHard[base]) {\n      fs.lstat(base, function(err) {\n        if (err) return cb(err);\n        knownHard[base] = true;\n        LOOP();\n      });\n    } else {\n      process.nextTick(LOOP);\n    }\n  }\n\n  // walk down the path, swapping out linked pathparts for their real\n  // values\n  function LOOP() {\n    // stop if scanned past end of path\n    if (pos >= p.length) {\n      if (cache) cache[original] = p;\n      return cb(null, p);\n    }\n\n    // find the next part\n    nextPartRe.lastIndex = pos;\n    var result = nextPartRe.exec(p);\n    previous = current;\n    current += result[0];\n    base = previous + result[1];\n    pos = nextPartRe.lastIndex;\n\n    // continue if not a symlink\n    if (knownHard[base] || (cache && cache[base] === base)) {\n      return process.nextTick(LOOP);\n    }\n\n    if (cache && Object.prototype.hasOwnProperty.call(cache, base)) {\n      // known symbolic link.  no need to stat again.\n      return gotResolvedLink(cache[base]);\n    }\n\n    return fs.lstat(base, gotStat);\n  }\n\n  function gotStat(err, stat) {\n    if (err) return cb(err);\n\n    // if not a symlink, skip to the next path part\n    if (!stat.isSymbolicLink()) {\n      knownHard[base] = true;\n      if (cache) cache[base] = base;\n      return process.nextTick(LOOP);\n    }\n\n    // stat & read the link if not read before\n    // call gotTarget as soon as the link target is known\n    // dev/ino always return 0 on windows, so skip the check.\n    if (!isWindows) {\n      var id = stat.dev.toString(32) + ':' + stat.ino.toString(32);\n      if (seenLinks.hasOwnProperty(id)) {\n        return gotTarget(null, seenLinks[id], base);\n      }\n    }\n    fs.stat(base, function(err) {\n      if (err) return cb(err);\n\n      fs.readlink(base, function(err, target) {\n        if (!isWindows) seenLinks[id] = target;\n        gotTarget(err, target);\n      });\n    });\n  }\n\n  function gotTarget(err, target, base) {\n    if (err) return cb(err);\n\n    var resolvedLink = pathModule.resolve(previous, target);\n    if (cache) cache[base] = resolvedLink;\n    gotResolvedLink(resolvedLink);\n  }\n\n  function gotResolvedLink(resolvedLink) {\n    // resolve the link, then start over\n    p = pathModule.resolve(resolvedLink, p.slice(pos));\n    start();\n  }\n};\n","module.exports = realpath\nrealpath.realpath = realpath\nrealpath.sync = realpathSync\nrealpath.realpathSync = realpathSync\nrealpath.monkeypatch = monkeypatch\nrealpath.unmonkeypatch = unmonkeypatch\n\nvar fs = require('fs')\nvar origRealpath = fs.realpath\nvar origRealpathSync = fs.realpathSync\n\nvar version = process.version\nvar ok = /^v[0-5]\\./.test(version)\nvar old = require('./old.js')\n\nfunction newError (er) {\n  return er && er.syscall === 'realpath' && (\n    er.code === 'ELOOP' ||\n    er.code === 'ENOMEM' ||\n    er.code === 'ENAMETOOLONG'\n  )\n}\n\nfunction realpath (p, cache, cb) {\n  if (ok) {\n    return origRealpath(p, cache, cb)\n  }\n\n  if (typeof cache === 'function') {\n    cb = cache\n    cache = null\n  }\n  origRealpath(p, cache, function (er, result) {\n    if (newError(er)) {\n      old.realpath(p, cache, cb)\n    } else {\n      cb(er, result)\n    }\n  })\n}\n\nfunction realpathSync (p, cache) {\n  if (ok) {\n    return origRealpathSync(p, cache)\n  }\n\n  try {\n    return origRealpathSync(p, cache)\n  } catch (er) {\n    if (newError(er)) {\n      return old.realpathSync(p, cache)\n    } else {\n      throw er\n    }\n  }\n}\n\nfunction monkeypatch () {\n  fs.realpath = realpath\n  fs.realpathSync = realpathSync\n}\n\nfunction unmonkeypatch () {\n  fs.realpath = origRealpath\n  fs.realpathSync = origRealpathSync\n}\n","module.exports = function (xs, fn) {\n    var res = [];\n    for (var i = 0; i < xs.length; i++) {\n        var x = fn(xs[i], i);\n        if (isArray(x)) res.push.apply(res, x);\n        else res.push(x);\n    }\n    return res;\n};\n\nvar isArray = Array.isArray || function (xs) {\n    return Object.prototype.toString.call(xs) === '[object Array]';\n};\n","'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 concatMap = require('concat-map');\nvar 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 identity(e) {\n  return e;\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 || /\\$$/.test(m.pre)) return [str];\n\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        var post = m.post.length\n          ? expand(m.post, false)\n          : [''];\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\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  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 = concatMap(n, function(el) { return expand(el, false) });\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  return expansions;\n}\n\n","module.exports = minimatch\nminimatch.Minimatch = Minimatch\n\nvar path = (function () { try { return require('path') } catch (e) {}}()) || {\n  sep: '/'\n}\nminimatch.sep = path.sep\n\nvar GLOBSTAR = minimatch.GLOBSTAR = Minimatch.GLOBSTAR = {}\nvar expand = require('brace-expansion')\n\nvar plTypes = {\n  '!': { open: '(?:(?!(?:', close: '))[^/]*?)'},\n  '?': { open: '(?:', close: ')?' },\n  '+': { open: '(?:', close: ')+' },\n  '*': { open: '(?:', close: ')*' },\n  '@': { open: '(?:', close: ')' }\n}\n\n// any single thing other than /\n// don't need to escape / when using new RegExp()\nvar qmark = '[^/]'\n\n// * => any number of characters\nvar star = qmark + '*?'\n\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.\nvar twoStarDot = '(?:(?!(?:\\\\\\/|^)(?:\\\\.{1,2})($|\\\\\\/)).)*?'\n\n// not a ^ or / followed by a dot,\n// followed by anything, any number of times.\nvar twoStarNoDot = '(?:(?!(?:\\\\\\/|^)\\\\.).)*?'\n\n// characters that need to be escaped in RegExp.\nvar reSpecials = charSet('().*{}+?[]^$\\\\!')\n\n// \"abc\" -> { a:true, b:true, c:true }\nfunction charSet (s) {\n  return s.split('').reduce(function (set, c) {\n    set[c] = true\n    return set\n  }, {})\n}\n\n// normalizes slashes.\nvar slashSplit = /\\/+/\n\nminimatch.filter = filter\nfunction filter (pattern, options) {\n  options = options || {}\n  return function (p, i, list) {\n    return minimatch(p, pattern, options)\n  }\n}\n\nfunction ext (a, b) {\n  b = b || {}\n  var t = {}\n  Object.keys(a).forEach(function (k) {\n    t[k] = a[k]\n  })\n  Object.keys(b).forEach(function (k) {\n    t[k] = b[k]\n  })\n  return t\n}\n\nminimatch.defaults = function (def) {\n  if (!def || typeof def !== 'object' || !Object.keys(def).length) {\n    return minimatch\n  }\n\n  var orig = minimatch\n\n  var m = function minimatch (p, pattern, options) {\n    return orig(p, pattern, ext(def, options))\n  }\n\n  m.Minimatch = function Minimatch (pattern, options) {\n    return new orig.Minimatch(pattern, ext(def, options))\n  }\n  m.Minimatch.defaults = function defaults (options) {\n    return orig.defaults(ext(def, options)).Minimatch\n  }\n\n  m.filter = function filter (pattern, options) {\n    return orig.filter(pattern, ext(def, options))\n  }\n\n  m.defaults = function defaults (options) {\n    return orig.defaults(ext(def, options))\n  }\n\n  m.makeRe = function makeRe (pattern, options) {\n    return orig.makeRe(pattern, ext(def, options))\n  }\n\n  m.braceExpand = function braceExpand (pattern, options) {\n    return orig.braceExpand(pattern, ext(def, options))\n  }\n\n  m.match = function (list, pattern, options) {\n    return orig.match(list, pattern, ext(def, options))\n  }\n\n  return m\n}\n\nMinimatch.defaults = function (def) {\n  return minimatch.defaults(def).Minimatch\n}\n\nfunction minimatch (p, pattern, options) {\n  assertValidPattern(pattern)\n\n  if (!options) options = {}\n\n  // shortcut: comments match nothing.\n  if (!options.nocomment && pattern.charAt(0) === '#') {\n    return false\n  }\n\n  return new Minimatch(pattern, options).match(p)\n}\n\nfunction Minimatch (pattern, options) {\n  if (!(this instanceof Minimatch)) {\n    return new Minimatch(pattern, options)\n  }\n\n  assertValidPattern(pattern)\n\n  if (!options) options = {}\n\n  pattern = pattern.trim()\n\n  // windows support: need to use /, not \\\n  if (!options.allowWindowsEscape && path.sep !== '/') {\n    pattern = pattern.split(path.sep).join('/')\n  }\n\n  this.options = options\n  this.set = []\n  this.pattern = pattern\n  this.regexp = null\n  this.negate = false\n  this.comment = false\n  this.empty = false\n  this.partial = !!options.partial\n\n  // make the set of regexps etc.\n  this.make()\n}\n\nMinimatch.prototype.debug = function () {}\n\nMinimatch.prototype.make = make\nfunction make () {\n  var pattern = this.pattern\n  var options = this.options\n\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\n  // step 1: figure out negation, etc.\n  this.parseNegate()\n\n  // step 2: expand braces\n  var set = this.globSet = this.braceExpand()\n\n  if (options.debug) this.debug = function debug() { console.error.apply(console, arguments) }\n\n  this.debug(this.pattern, set)\n\n  // step 3: now we have a set, so turn each one into a series of path-portion\n  // 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  set = this.globParts = set.map(function (s) {\n    return s.split(slashSplit)\n  })\n\n  this.debug(this.pattern, set)\n\n  // glob --> regexps\n  set = set.map(function (s, si, set) {\n    return s.map(this.parse, this)\n  }, this)\n\n  this.debug(this.pattern, set)\n\n  // filter out everything that didn't compile properly.\n  set = set.filter(function (s) {\n    return s.indexOf(false) === -1\n  })\n\n  this.debug(this.pattern, set)\n\n  this.set = set\n}\n\nMinimatch.prototype.parseNegate = parseNegate\nfunction parseNegate () {\n  var pattern = this.pattern\n  var negate = false\n  var options = this.options\n  var negateOffset = 0\n\n  if (options.nonegate) return\n\n  for (var i = 0, l = pattern.length\n    ; i < l && pattern.charAt(i) === '!'\n    ; i++) {\n    negate = !negate\n    negateOffset++\n  }\n\n  if (negateOffset) this.pattern = pattern.substr(negateOffset)\n  this.negate = negate\n}\n\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\nminimatch.braceExpand = function (pattern, options) {\n  return braceExpand(pattern, options)\n}\n\nMinimatch.prototype.braceExpand = braceExpand\n\nfunction braceExpand (pattern, options) {\n  if (!options) {\n    if (this instanceof Minimatch) {\n      options = this.options\n    } else {\n      options = {}\n    }\n  }\n\n  pattern = typeof pattern === 'undefined'\n    ? this.pattern : pattern\n\n  assertValidPattern(pattern)\n\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\n  return expand(pattern)\n}\n\nvar MAX_PATTERN_LENGTH = 1024 * 64\nvar assertValidPattern = function (pattern) {\n  if (typeof pattern !== 'string') {\n    throw new TypeError('invalid pattern')\n  }\n\n  if (pattern.length > MAX_PATTERN_LENGTH) {\n    throw new TypeError('pattern is too long')\n  }\n}\n\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.\nMinimatch.prototype.parse = parse\nvar SUBPARSE = {}\nfunction parse (pattern, isSub) {\n  assertValidPattern(pattern)\n\n  var options = this.options\n\n  // shortcuts\n  if (pattern === '**') {\n    if (!options.noglobstar)\n      return GLOBSTAR\n    else\n      pattern = '*'\n  }\n  if (pattern === '') return ''\n\n  var re = ''\n  var hasMagic = !!options.nocase\n  var escaping = false\n  // ? => one single character\n  var patternListStack = []\n  var negativeLists = []\n  var stateChar\n  var inClass = false\n  var reClassStart = -1\n  var classStart = -1\n  // . and .. never match anything that doesn't start with .,\n  // even when options.dot is set.\n  var patternStart = pattern.charAt(0) === '.' ? '' // anything\n  // not (start or / followed by . or .. followed by / or end)\n  : options.dot ? '(?!(?:^|\\\\\\/)\\\\.{1,2}(?:$|\\\\\\/))'\n  : '(?!\\\\.)'\n  var self = this\n\n  function clearStateChar () {\n    if (stateChar) {\n      // we had some state-tracking character\n      // that wasn't consumed by this pass.\n      switch (stateChar) {\n        case '*':\n          re += star\n          hasMagic = true\n        break\n        case '?':\n          re += qmark\n          hasMagic = true\n        break\n        default:\n          re += '\\\\' + stateChar\n        break\n      }\n      self.debug('clearStateChar %j %j', stateChar, re)\n      stateChar = false\n    }\n  }\n\n  for (var i = 0, len = pattern.length, c\n    ; (i < len) && (c = pattern.charAt(i))\n    ; i++) {\n    this.debug('%s\\t%s %s %j', pattern, i, re, c)\n\n    // skip over any that are escaped.\n    if (escaping && reSpecials[c]) {\n      re += '\\\\' + c\n      escaping = false\n      continue\n    }\n\n    switch (c) {\n      /* istanbul ignore next */\n      case '/': {\n        // completely not allowed, even escaped.\n        // Should already be path-split by now.\n        return false\n      }\n\n      case '\\\\':\n        clearStateChar()\n        escaping = true\n      continue\n\n      // the various stateChar values\n      // for the \"extglob\" stuff.\n      case '?':\n      case '*':\n      case '+':\n      case '@':\n      case '!':\n        this.debug('%s\\t%s %s %j <-- stateChar', pattern, i, re, c)\n\n        // all of those are literals inside a class, except that\n        // the glob [!a] means [^a] in regexp\n        if (inClass) {\n          this.debug('  in class')\n          if (c === '!' && i === classStart + 1) c = '^'\n          re += c\n          continue\n        }\n\n        // if we already have a stateChar, then it means\n        // that there was something like ** or +? in there.\n        // Handle the stateChar, then proceed with this one.\n        self.debug('call clearStateChar %j', stateChar)\n        clearStateChar()\n        stateChar = c\n        // if extglob is disabled, then +(asdf|foo) isn't a thing.\n        // just clear the statechar *now*, rather than even diving into\n        // the patternList stuff.\n        if (options.noext) clearStateChar()\n      continue\n\n      case '(':\n        if (inClass) {\n          re += '('\n          continue\n        }\n\n        if (!stateChar) {\n          re += '\\\\('\n          continue\n        }\n\n        patternListStack.push({\n          type: stateChar,\n          start: i - 1,\n          reStart: re.length,\n          open: plTypes[stateChar].open,\n          close: plTypes[stateChar].close\n        })\n        // negation is (?:(?!js)[^/]*)\n        re += stateChar === '!' ? '(?:(?!(?:' : '(?:'\n        this.debug('plType %j %j', stateChar, re)\n        stateChar = false\n      continue\n\n      case ')':\n        if (inClass || !patternListStack.length) {\n          re += '\\\\)'\n          continue\n        }\n\n        clearStateChar()\n        hasMagic = true\n        var pl = patternListStack.pop()\n        // negation is (?:(?!js)[^/]*)\n        // The others are (?:)\n        re += pl.close\n        if (pl.type === '!') {\n          negativeLists.push(pl)\n        }\n        pl.reEnd = re.length\n      continue\n\n      case '|':\n        if (inClass || !patternListStack.length || escaping) {\n          re += '\\\\|'\n          escaping = false\n          continue\n        }\n\n        clearStateChar()\n        re += '|'\n      continue\n\n      // these are mostly the same in regexp and glob\n      case '[':\n        // swallow any state-tracking char before the [\n        clearStateChar()\n\n        if (inClass) {\n          re += '\\\\' + c\n          continue\n        }\n\n        inClass = true\n        classStart = i\n        reClassStart = re.length\n        re += c\n      continue\n\n      case ']':\n        //  a right bracket shall lose its special\n        //  meaning and represent itself in\n        //  a bracket expression if it occurs\n        //  first in the list.  -- POSIX.2 2.8.3.2\n        if (i === classStart + 1 || !inClass) {\n          re += '\\\\' + c\n          escaping = false\n          continue\n        }\n\n        // handle the case where we left a class open.\n        // \"[z-a]\" is valid, equivalent to \"\\[z-a\\]\"\n        // split where the last [ was, make sure we don't have\n        // an invalid re. if so, re-walk the contents of the\n        // would-be class to re-translate any characters that\n        // were passed through as-is\n        // TODO: It would probably be faster to determine this\n        // without a try/catch and a new RegExp, but it's tricky\n        // to do safely.  For now, this is safe and works.\n        var cs = pattern.substring(classStart + 1, i)\n        try {\n          RegExp('[' + cs + ']')\n        } catch (er) {\n          // not a valid class!\n          var sp = this.parse(cs, SUBPARSE)\n          re = re.substr(0, reClassStart) + '\\\\[' + sp[0] + '\\\\]'\n          hasMagic = hasMagic || sp[1]\n          inClass = false\n          continue\n        }\n\n        // finish up the class.\n        hasMagic = true\n        inClass = false\n        re += c\n      continue\n\n      default:\n        // swallow any state char that wasn't consumed\n        clearStateChar()\n\n        if (escaping) {\n          // no need\n          escaping = false\n        } else if (reSpecials[c]\n          && !(c === '^' && inClass)) {\n          re += '\\\\'\n        }\n\n        re += c\n\n    } // switch\n  } // for\n\n  // handle the case where we left a class open.\n  // \"[abc\" is valid, equivalent to \"\\[abc\"\n  if (inClass) {\n    // split where the last [ was, and escape it\n    // this is a huge pita.  We now have to re-walk\n    // the contents of the would-be class to re-translate\n    // any characters that were passed through as-is\n    cs = pattern.substr(classStart + 1)\n    sp = this.parse(cs, SUBPARSE)\n    re = re.substr(0, reClassStart) + '\\\\[' + sp[0]\n    hasMagic = hasMagic || sp[1]\n  }\n\n  // handle the case where we had a +( thing at the *end*\n  // of the pattern.\n  // each pattern list stack adds 3 chars, and we need to go through\n  // and escape any | chars that were passed through as-is for the regexp.\n  // Go through and escape them, taking care not to double-escape any\n  // | chars that were already escaped.\n  for (pl = patternListStack.pop(); pl; pl = patternListStack.pop()) {\n    var tail = re.slice(pl.reStart + pl.open.length)\n    this.debug('setting tail', re, pl)\n    // maybe some even number of \\, then maybe 1 \\, followed by a |\n    tail = tail.replace(/((?:\\\\{2}){0,64})(\\\\?)\\|/g, function (_, $1, $2) {\n      if (!$2) {\n        // the | isn't already escaped, so escape it.\n        $2 = '\\\\'\n      }\n\n      // need to escape all those slashes *again*, without escaping the\n      // one that we need for escaping the | character.  As it works out,\n      // escaping an even number of slashes can be done by simply repeating\n      // it exactly after itself.  That's why this trick works.\n      //\n      // I am sorry that you have to see this.\n      return $1 + $1 + $2 + '|'\n    })\n\n    this.debug('tail=%j\\n   %s', tail, tail, pl, re)\n    var t = pl.type === '*' ? star\n      : pl.type === '?' ? qmark\n      : '\\\\' + pl.type\n\n    hasMagic = true\n    re = re.slice(0, pl.reStart) + t + '\\\\(' + tail\n  }\n\n  // handle trailing things that only matter at the very end.\n  clearStateChar()\n  if (escaping) {\n    // trailing \\\\\n    re += '\\\\\\\\'\n  }\n\n  // only need to apply the nodot start if the re starts with\n  // something that could conceivably capture a dot\n  var addPatternStart = false\n  switch (re.charAt(0)) {\n    case '[': case '.': case '(': addPatternStart = true\n  }\n\n  // Hack to work around lack of negative lookbehind in JS\n  // A pattern like: *.!(x).!(y|z) needs to ensure that a name\n  // like 'a.xyz.yz' doesn't match.  So, the first negative\n  // lookahead, has to look ALL the way ahead, to the end of\n  // the pattern.\n  for (var n = negativeLists.length - 1; n > -1; n--) {\n    var nl = negativeLists[n]\n\n    var nlBefore = re.slice(0, nl.reStart)\n    var nlFirst = re.slice(nl.reStart, nl.reEnd - 8)\n    var nlLast = re.slice(nl.reEnd - 8, nl.reEnd)\n    var nlAfter = re.slice(nl.reEnd)\n\n    nlLast += nlAfter\n\n    // Handle nested stuff like *(*.js|!(*.json)), where open parens\n    // mean that we should *not* include the ) in the bit that is considered\n    // \"after\" the negated section.\n    var openParensBefore = nlBefore.split('(').length - 1\n    var cleanAfter = nlAfter\n    for (i = 0; i < openParensBefore; i++) {\n      cleanAfter = cleanAfter.replace(/\\)[+*?]?/, '')\n    }\n    nlAfter = cleanAfter\n\n    var dollar = ''\n    if (nlAfter === '' && isSub !== SUBPARSE) {\n      dollar = '$'\n    }\n    var newRe = nlBefore + nlFirst + nlAfter + dollar + nlLast\n    re = newRe\n  }\n\n  // if the re is not \"\" at this point, then we need to make sure\n  // it doesn't match against an empty path part.\n  // Otherwise a/* will match a/, which it should not.\n  if (re !== '' && hasMagic) {\n    re = '(?=.)' + re\n  }\n\n  if (addPatternStart) {\n    re = patternStart + re\n  }\n\n  // parsing just a piece of a larger pattern.\n  if (isSub === SUBPARSE) {\n    return [re, hasMagic]\n  }\n\n  // skip the regexp for non-magical patterns\n  // unescape anything in it, though, so that it'll be\n  // an exact match against a file etc.\n  if (!hasMagic) {\n    return globUnescape(pattern)\n  }\n\n  var flags = options.nocase ? 'i' : ''\n  try {\n    var regExp = new RegExp('^' + re + '$', flags)\n  } catch (er) /* istanbul ignore next - should be impossible */ {\n    // If it was an invalid regular expression, then it can't match\n    // anything.  This trick looks for a character after the end of\n    // the string, which is of course impossible, except in multi-line\n    // mode, but it's not a /m regex.\n    return new RegExp('$.')\n  }\n\n  regExp._glob = pattern\n  regExp._src = re\n\n  return regExp\n}\n\nminimatch.makeRe = function (pattern, options) {\n  return new Minimatch(pattern, options || {}).makeRe()\n}\n\nMinimatch.prototype.makeRe = makeRe\nfunction makeRe () {\n  if (this.regexp || this.regexp === false) return this.regexp\n\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  var set = this.set\n\n  if (!set.length) {\n    this.regexp = false\n    return this.regexp\n  }\n  var options = this.options\n\n  var twoStar = options.noglobstar ? star\n    : options.dot ? twoStarDot\n    : twoStarNoDot\n  var flags = options.nocase ? 'i' : ''\n\n  var re = set.map(function (pattern) {\n    return pattern.map(function (p) {\n      return (p === GLOBSTAR) ? twoStar\n      : (typeof p === 'string') ? regExpEscape(p)\n      : p._src\n    }).join('\\\\\\/')\n  }).join('|')\n\n  // must match entire pattern\n  // ending in a * or ** will make it less strict.\n  re = '^(?:' + re + ')$'\n\n  // can match anything, as long as it's not this.\n  if (this.negate) re = '^(?!' + re + ').*$'\n\n  try {\n    this.regexp = new RegExp(re, flags)\n  } catch (ex) /* istanbul ignore next - should be impossible */ {\n    this.regexp = false\n  }\n  return this.regexp\n}\n\nminimatch.match = function (list, pattern, options) {\n  options = options || {}\n  var mm = new Minimatch(pattern, options)\n  list = list.filter(function (f) {\n    return mm.match(f)\n  })\n  if (mm.options.nonull && !list.length) {\n    list.push(pattern)\n  }\n  return list\n}\n\nMinimatch.prototype.match = function match (f, partial) {\n  if (typeof partial === 'undefined') 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) return false\n  if (this.empty) return f === ''\n\n  if (f === '/' && partial) return true\n\n  var options = this.options\n\n  // windows: need to use /, not \\\n  if (path.sep !== '/') {\n    f = f.split(path.sep).join('/')\n  }\n\n  // treat the test path as a set of pathparts.\n  f = f.split(slashSplit)\n  this.debug(this.pattern, 'split', f)\n\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\n  var set = this.set\n  this.debug(this.pattern, 'set', set)\n\n  // Find the basename of the path by looking for the last non-empty segment\n  var filename\n  var i\n  for (i = f.length - 1; i >= 0; i--) {\n    filename = f[i]\n    if (filename) break\n  }\n\n  for (i = 0; i < set.length; i++) {\n    var pattern = set[i]\n    var file = f\n    if (options.matchBase && pattern.length === 1) {\n      file = [filename]\n    }\n    var hit = this.matchOne(file, pattern, partial)\n    if (hit) {\n      if (options.flipNegate) return true\n      return !this.negate\n    }\n  }\n\n  // didn't get any hits.  this is success if it's a negative\n  // pattern, failure otherwise.\n  if (options.flipNegate) return false\n  return this.negate\n}\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.\nMinimatch.prototype.matchOne = function (file, pattern, partial) {\n  var options = this.options\n\n  this.debug('matchOne',\n    { 'this': this, file: file, pattern: pattern })\n\n  this.debug('matchOne', file.length, pattern.length)\n\n  for (var fi = 0,\n      pi = 0,\n      fl = file.length,\n      pl = pattern.length\n      ; (fi < fl) && (pi < pl)\n      ; fi++, pi++) {\n    this.debug('matchOne loop')\n    var p = pattern[pi]\n    var f = file[fi]\n\n    this.debug(pattern, p, f)\n\n    // should be impossible.\n    // some invalid regexp stuff in the set.\n    /* istanbul ignore if */\n    if (p === false) return false\n\n    if (p === GLOBSTAR) {\n      this.debug('GLOBSTAR', [pattern, p, f])\n\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] === '.' || file[fi] === '..' ||\n            (!options.dot && file[fi].charAt(0) === '.')) return false\n        }\n        return true\n      }\n\n      // ok, let's see if we can swallow whatever we can.\n      while (fr < fl) {\n        var swallowee = file[fr]\n\n        this.debug('\\nglobstar while', file, fr, pattern, pr, swallowee)\n\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        } else {\n          // can't swallow \".\" or \"..\" ever.\n          // can only swallow \".foo\" when explicitly asked.\n          if (swallowee === '.' || swallowee === '..' ||\n            (!options.dot && swallowee.charAt(0) === '.')) {\n            this.debug('dot detected!', file, fr, pattern, pr)\n            break\n          }\n\n          // ** swallows a segment, and continue.\n          this.debug('globstar swallow a segment, and continue')\n          fr++\n        }\n      }\n\n      // no match was found.\n      // However, in partial mode, we can't say this is necessarily over.\n      // If there's more *pattern* left, then\n      /* istanbul ignore if */\n      if (partial) {\n        // ran out of file\n        this.debug('\\n>>> no match, partial?', file, fr, pattern, pr)\n        if (fr === fl) return true\n      }\n      return false\n    }\n\n    // something other than **\n    // non-magic patterns just have to match exactly\n    // patterns with magic have been turned into regexps.\n    var hit\n    if (typeof p === 'string') {\n      hit = f === p\n      this.debug('string match', p, f, hit)\n    } else {\n      hit = f.match(p)\n      this.debug('pattern match', p, f, hit)\n    }\n\n    if (!hit) return false\n  }\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\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  } 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  } else /* istanbul ignore 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  }\n\n  // should be unreachable.\n  /* istanbul ignore next */\n  throw new Error('wtf?')\n}\n\n// replace stuff like \\* with *\nfunction globUnescape (s) {\n  return s.replace(/\\\\(.)/g, '$1')\n}\n\nfunction regExpEscape (s) {\n  return s.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&')\n}\n","if (typeof Object.create === 'function') {\n  // implementation from standard node.js 'util' module\n  module.exports = function inherits(ctor, superCtor) {\n    if (superCtor) {\n      ctor.super_ = superCtor\n      ctor.prototype = Object.create(superCtor.prototype, {\n        constructor: {\n          value: ctor,\n          enumerable: false,\n          writable: true,\n          configurable: true\n        }\n      })\n    }\n  };\n} else {\n  // old school shim for old browsers\n  module.exports = function inherits(ctor, superCtor) {\n    if (superCtor) {\n      ctor.super_ = superCtor\n      var TempCtor = function () {}\n      TempCtor.prototype = superCtor.prototype\n      ctor.prototype = new TempCtor()\n      ctor.prototype.constructor = ctor\n    }\n  }\n}\n","try {\n  var util = require('util');\n  /* istanbul ignore next */\n  if (typeof util.inherits !== 'function') throw '';\n  module.exports = util.inherits;\n} catch (e) {\n  /* istanbul ignore next */\n  module.exports = require('./inherits_browser.js');\n}\n","'use strict';\n\nfunction posix(path) {\n\treturn path.charAt(0) === '/';\n}\n\nfunction win32(path) {\n\t// https://github.com/nodejs/node/blob/b3fcc245fb25539909ef1d5eaa01dbf92e168633/lib/path.js#L56\n\tvar splitDeviceRe = /^([a-zA-Z]:|[\\\\\\/]{2}[^\\\\\\/]+[\\\\\\/]+[^\\\\\\/]+)?([\\\\\\/])?([\\s\\S]*?)$/;\n\tvar result = splitDeviceRe.exec(path);\n\tvar device = result[1] || '';\n\tvar isUnc = Boolean(device && device.charAt(1) !== ':');\n\n\t// UNC paths are always absolute\n\treturn Boolean(result[2] || isUnc);\n}\n\nmodule.exports = process.platform === 'win32' ? win32 : posix;\nmodule.exports.posix = posix;\nmodule.exports.win32 = win32;\n","exports.setopts = setopts\nexports.ownProp = ownProp\nexports.makeAbs = makeAbs\nexports.finish = finish\nexports.mark = mark\nexports.isIgnored = isIgnored\nexports.childrenIgnored = childrenIgnored\n\nfunction ownProp (obj, field) {\n  return Object.prototype.hasOwnProperty.call(obj, field)\n}\n\nvar fs = require(\"fs\")\nvar path = require(\"path\")\nvar minimatch = require(\"minimatch\")\nvar isAbsolute = require(\"path-is-absolute\")\nvar Minimatch = minimatch.Minimatch\n\nfunction alphasort (a, b) {\n  return a.localeCompare(b, 'en')\n}\n\nfunction setupIgnores (self, options) {\n  self.ignore = options.ignore || []\n\n  if (!Array.isArray(self.ignore))\n    self.ignore = [self.ignore]\n\n  if (self.ignore.length) {\n    self.ignore = self.ignore.map(ignoreMap)\n  }\n}\n\n// ignore patterns are always in dot:true mode.\nfunction ignoreMap (pattern) {\n  var gmatcher = null\n  if (pattern.slice(-3) === '/**') {\n    var gpattern = pattern.replace(/(\\/\\*\\*)+$/, '')\n    gmatcher = new Minimatch(gpattern, { dot: true })\n  }\n\n  return {\n    matcher: new Minimatch(pattern, { dot: true }),\n    gmatcher: gmatcher\n  }\n}\n\nfunction setopts (self, pattern, options) {\n  if (!options)\n    options = {}\n\n  // base-matching: just use globstar for that.\n  if (options.matchBase && -1 === pattern.indexOf(\"/\")) {\n    if (options.noglobstar) {\n      throw new Error(\"base matching requires globstar\")\n    }\n    pattern = \"**/\" + pattern\n  }\n\n  self.silent = !!options.silent\n  self.pattern = pattern\n  self.strict = options.strict !== false\n  self.realpath = !!options.realpath\n  self.realpathCache = options.realpathCache || Object.create(null)\n  self.follow = !!options.follow\n  self.dot = !!options.dot\n  self.mark = !!options.mark\n  self.nodir = !!options.nodir\n  if (self.nodir)\n    self.mark = true\n  self.sync = !!options.sync\n  self.nounique = !!options.nounique\n  self.nonull = !!options.nonull\n  self.nosort = !!options.nosort\n  self.nocase = !!options.nocase\n  self.stat = !!options.stat\n  self.noprocess = !!options.noprocess\n  self.absolute = !!options.absolute\n  self.fs = options.fs || fs\n\n  self.maxLength = options.maxLength || Infinity\n  self.cache = options.cache || Object.create(null)\n  self.statCache = options.statCache || Object.create(null)\n  self.symlinks = options.symlinks || Object.create(null)\n\n  setupIgnores(self, options)\n\n  self.changedCwd = false\n  var cwd = process.cwd()\n  if (!ownProp(options, \"cwd\"))\n    self.cwd = cwd\n  else {\n    self.cwd = path.resolve(options.cwd)\n    self.changedCwd = self.cwd !== cwd\n  }\n\n  self.root = options.root || path.resolve(self.cwd, \"/\")\n  self.root = path.resolve(self.root)\n  if (process.platform === \"win32\")\n    self.root = self.root.replace(/\\\\/g, \"/\")\n\n  // TODO: is an absolute `cwd` supposed to be resolved against `root`?\n  // e.g. { cwd: '/test', root: __dirname } === path.join(__dirname, '/test')\n  self.cwdAbs = isAbsolute(self.cwd) ? self.cwd : makeAbs(self, self.cwd)\n  if (process.platform === \"win32\")\n    self.cwdAbs = self.cwdAbs.replace(/\\\\/g, \"/\")\n  self.nomount = !!options.nomount\n\n  // disable comments and negation in Minimatch.\n  // Note that they are not supported in Glob itself anyway.\n  options.nonegate = true\n  options.nocomment = true\n  // always treat \\ in patterns as escapes, not path separators\n  options.allowWindowsEscape = false\n\n  self.minimatch = new Minimatch(pattern, options)\n  self.options = self.minimatch.options\n}\n\nfunction finish (self) {\n  var nou = self.nounique\n  var all = nou ? [] : Object.create(null)\n\n  for (var i = 0, l = self.matches.length; i < l; i ++) {\n    var matches = self.matches[i]\n    if (!matches || Object.keys(matches).length === 0) {\n      if (self.nonull) {\n        // do like the shell, and spit out the literal glob\n        var literal = self.minimatch.globSet[i]\n        if (nou)\n          all.push(literal)\n        else\n          all[literal] = true\n      }\n    } else {\n      // had matches\n      var m = Object.keys(matches)\n      if (nou)\n        all.push.apply(all, m)\n      else\n        m.forEach(function (m) {\n          all[m] = true\n        })\n    }\n  }\n\n  if (!nou)\n    all = Object.keys(all)\n\n  if (!self.nosort)\n    all = all.sort(alphasort)\n\n  // at *some* point we statted all of these\n  if (self.mark) {\n    for (var i = 0; i < all.length; i++) {\n      all[i] = self._mark(all[i])\n    }\n    if (self.nodir) {\n      all = all.filter(function (e) {\n        var notDir = !(/\\/$/.test(e))\n        var c = self.cache[e] || self.cache[makeAbs(self, e)]\n        if (notDir && c)\n          notDir = c !== 'DIR' && !Array.isArray(c)\n        return notDir\n      })\n    }\n  }\n\n  if (self.ignore.length)\n    all = all.filter(function(m) {\n      return !isIgnored(self, m)\n    })\n\n  self.found = all\n}\n\nfunction mark (self, p) {\n  var abs = makeAbs(self, p)\n  var c = self.cache[abs]\n  var m = p\n  if (c) {\n    var isDir = c === 'DIR' || Array.isArray(c)\n    var slash = p.slice(-1) === '/'\n\n    if (isDir && !slash)\n      m += '/'\n    else if (!isDir && slash)\n      m = m.slice(0, -1)\n\n    if (m !== p) {\n      var mabs = makeAbs(self, m)\n      self.statCache[mabs] = self.statCache[abs]\n      self.cache[mabs] = self.cache[abs]\n    }\n  }\n\n  return m\n}\n\n// lotta situps...\nfunction makeAbs (self, f) {\n  var abs = f\n  if (f.charAt(0) === '/') {\n    abs = path.join(self.root, f)\n  } else if (isAbsolute(f) || f === '') {\n    abs = f\n  } else if (self.changedCwd) {\n    abs = path.resolve(self.cwd, f)\n  } else {\n    abs = path.resolve(f)\n  }\n\n  if (process.platform === 'win32')\n    abs = abs.replace(/\\\\/g, '/')\n\n  return abs\n}\n\n\n// Return true, if pattern ends with globstar '**', for the accompanying parent directory.\n// Ex:- If node_modules/** is the pattern, add 'node_modules' to ignore list along with it's contents\nfunction isIgnored (self, path) {\n  if (!self.ignore.length)\n    return false\n\n  return self.ignore.some(function(item) {\n    return item.matcher.match(path) || !!(item.gmatcher && item.gmatcher.match(path))\n  })\n}\n\nfunction childrenIgnored (self, path) {\n  if (!self.ignore.length)\n    return false\n\n  return self.ignore.some(function(item) {\n    return !!(item.gmatcher && item.gmatcher.match(path))\n  })\n}\n","module.exports = globSync\nglobSync.GlobSync = GlobSync\n\nvar rp = require('fs.realpath')\nvar minimatch = require('minimatch')\nvar Minimatch = minimatch.Minimatch\nvar Glob = require('./glob.js').Glob\nvar util = require('util')\nvar path = require('path')\nvar assert = require('assert')\nvar isAbsolute = require('path-is-absolute')\nvar common = require('./common.js')\nvar setopts = common.setopts\nvar ownProp = common.ownProp\nvar childrenIgnored = common.childrenIgnored\nvar isIgnored = common.isIgnored\n\nfunction globSync (pattern, options) {\n  if (typeof options === 'function' || arguments.length === 3)\n    throw new TypeError('callback provided to sync glob\\n'+\n                        'See: https://github.com/isaacs/node-glob/issues/167')\n\n  return new GlobSync(pattern, options).found\n}\n\nfunction GlobSync (pattern, options) {\n  if (!pattern)\n    throw new Error('must provide pattern')\n\n  if (typeof options === 'function' || arguments.length === 3)\n    throw new TypeError('callback provided to sync glob\\n'+\n                        'See: https://github.com/isaacs/node-glob/issues/167')\n\n  if (!(this instanceof GlobSync))\n    return new GlobSync(pattern, options)\n\n  setopts(this, pattern, options)\n\n  if (this.noprocess)\n    return this\n\n  var n = this.minimatch.set.length\n  this.matches = new Array(n)\n  for (var i = 0; i < n; i ++) {\n    this._process(this.minimatch.set[i], i, false)\n  }\n  this._finish()\n}\n\nGlobSync.prototype._finish = function () {\n  assert.ok(this instanceof GlobSync)\n  if (this.realpath) {\n    var self = this\n    this.matches.forEach(function (matchset, index) {\n      var set = self.matches[index] = Object.create(null)\n      for (var p in matchset) {\n        try {\n          p = self._makeAbs(p)\n          var real = rp.realpathSync(p, self.realpathCache)\n          set[real] = true\n        } catch (er) {\n          if (er.syscall === 'stat')\n            set[self._makeAbs(p)] = true\n          else\n            throw er\n        }\n      }\n    })\n  }\n  common.finish(this)\n}\n\n\nGlobSync.prototype._process = function (pattern, index, inGlobStar) {\n  assert.ok(this instanceof GlobSync)\n\n  // Get the first [n] parts of pattern that are all strings.\n  var n = 0\n  while (typeof pattern[n] === 'string') {\n    n ++\n  }\n  // now n is the index of the first one that is *not* a string.\n\n  // See if there's anything else\n  var prefix\n  switch (n) {\n    // if not, then this is rather simple\n    case pattern.length:\n      this._processSimple(pattern.join('/'), index)\n      return\n\n    case 0:\n      // pattern *starts* with some non-trivial item.\n      // going to readdir(cwd), but not include the prefix in matches.\n      prefix = null\n      break\n\n    default:\n      // pattern has some string bits in the front.\n      // whatever it starts with, whether that's 'absolute' like /foo/bar,\n      // or 'relative' like '../baz'\n      prefix = pattern.slice(0, n).join('/')\n      break\n  }\n\n  var remain = pattern.slice(n)\n\n  // get the list of entries.\n  var read\n  if (prefix === null)\n    read = '.'\n  else if (isAbsolute(prefix) ||\n      isAbsolute(pattern.map(function (p) {\n        return typeof p === 'string' ? p : '[*]'\n      }).join('/'))) {\n    if (!prefix || !isAbsolute(prefix))\n      prefix = '/' + prefix\n    read = prefix\n  } else\n    read = prefix\n\n  var abs = this._makeAbs(read)\n\n  //if ignored, skip processing\n  if (childrenIgnored(this, read))\n    return\n\n  var isGlobStar = remain[0] === minimatch.GLOBSTAR\n  if (isGlobStar)\n    this._processGlobStar(prefix, read, abs, remain, index, inGlobStar)\n  else\n    this._processReaddir(prefix, read, abs, remain, index, inGlobStar)\n}\n\n\nGlobSync.prototype._processReaddir = function (prefix, read, abs, remain, index, inGlobStar) {\n  var entries = this._readdir(abs, inGlobStar)\n\n  // if the abs isn't a dir, then nothing can match!\n  if (!entries)\n    return\n\n  // It will only match dot entries if it starts with a dot, or if\n  // dot is set.  Stuff like @(.foo|.bar) isn't allowed.\n  var pn = remain[0]\n  var negate = !!this.minimatch.negate\n  var rawGlob = pn._glob\n  var dotOk = this.dot || rawGlob.charAt(0) === '.'\n\n  var matchedEntries = []\n  for (var i = 0; i < entries.length; i++) {\n    var e = entries[i]\n    if (e.charAt(0) !== '.' || dotOk) {\n      var m\n      if (negate && !prefix) {\n        m = !e.match(pn)\n      } else {\n        m = e.match(pn)\n      }\n      if (m)\n        matchedEntries.push(e)\n    }\n  }\n\n  var len = matchedEntries.length\n  // If there are no matched entries, then nothing matches.\n  if (len === 0)\n    return\n\n  // if this is the last remaining pattern bit, then no need for\n  // an additional stat *unless* the user has specified mark or\n  // stat explicitly.  We know they exist, since readdir returned\n  // them.\n\n  if (remain.length === 1 && !this.mark && !this.stat) {\n    if (!this.matches[index])\n      this.matches[index] = Object.create(null)\n\n    for (var i = 0; i < len; i ++) {\n      var e = matchedEntries[i]\n      if (prefix) {\n        if (prefix.slice(-1) !== '/')\n          e = prefix + '/' + e\n        else\n          e = prefix + e\n      }\n\n      if (e.charAt(0) === '/' && !this.nomount) {\n        e = path.join(this.root, e)\n      }\n      this._emitMatch(index, e)\n    }\n    // This was the last one, and no stats were needed\n    return\n  }\n\n  // now test all matched entries as stand-ins for that part\n  // of the pattern.\n  remain.shift()\n  for (var i = 0; i < len; i ++) {\n    var e = matchedEntries[i]\n    var newPattern\n    if (prefix)\n      newPattern = [prefix, e]\n    else\n      newPattern = [e]\n    this._process(newPattern.concat(remain), index, inGlobStar)\n  }\n}\n\n\nGlobSync.prototype._emitMatch = function (index, e) {\n  if (isIgnored(this, e))\n    return\n\n  var abs = this._makeAbs(e)\n\n  if (this.mark)\n    e = this._mark(e)\n\n  if (this.absolute) {\n    e = abs\n  }\n\n  if (this.matches[index][e])\n    return\n\n  if (this.nodir) {\n    var c = this.cache[abs]\n    if (c === 'DIR' || Array.isArray(c))\n      return\n  }\n\n  this.matches[index][e] = true\n\n  if (this.stat)\n    this._stat(e)\n}\n\n\nGlobSync.prototype._readdirInGlobStar = function (abs) {\n  // follow all symlinked directories forever\n  // just proceed as if this is a non-globstar situation\n  if (this.follow)\n    return this._readdir(abs, false)\n\n  var entries\n  var lstat\n  var stat\n  try {\n    lstat = this.fs.lstatSync(abs)\n  } catch (er) {\n    if (er.code === 'ENOENT') {\n      // lstat failed, doesn't exist\n      return null\n    }\n  }\n\n  var isSym = lstat && lstat.isSymbolicLink()\n  this.symlinks[abs] = isSym\n\n  // If it's not a symlink or a dir, then it's definitely a regular file.\n  // don't bother doing a readdir in that case.\n  if (!isSym && lstat && !lstat.isDirectory())\n    this.cache[abs] = 'FILE'\n  else\n    entries = this._readdir(abs, false)\n\n  return entries\n}\n\nGlobSync.prototype._readdir = function (abs, inGlobStar) {\n  var entries\n\n  if (inGlobStar && !ownProp(this.symlinks, abs))\n    return this._readdirInGlobStar(abs)\n\n  if (ownProp(this.cache, abs)) {\n    var c = this.cache[abs]\n    if (!c || c === 'FILE')\n      return null\n\n    if (Array.isArray(c))\n      return c\n  }\n\n  try {\n    return this._readdirEntries(abs, this.fs.readdirSync(abs))\n  } catch (er) {\n    this._readdirError(abs, er)\n    return null\n  }\n}\n\nGlobSync.prototype._readdirEntries = function (abs, entries) {\n  // if we haven't asked to stat everything, then just\n  // assume that everything in there exists, so we can avoid\n  // having to stat it a second time.\n  if (!this.mark && !this.stat) {\n    for (var i = 0; i < entries.length; i ++) {\n      var e = entries[i]\n      if (abs === '/')\n        e = abs + e\n      else\n        e = abs + '/' + e\n      this.cache[e] = true\n    }\n  }\n\n  this.cache[abs] = entries\n\n  // mark and cache dir-ness\n  return entries\n}\n\nGlobSync.prototype._readdirError = function (f, er) {\n  // handle errors, and cache the information\n  switch (er.code) {\n    case 'ENOTSUP': // https://github.com/isaacs/node-glob/issues/205\n    case 'ENOTDIR': // totally normal. means it *does* exist.\n      var abs = this._makeAbs(f)\n      this.cache[abs] = 'FILE'\n      if (abs === this.cwdAbs) {\n        var error = new Error(er.code + ' invalid cwd ' + this.cwd)\n        error.path = this.cwd\n        error.code = er.code\n        throw error\n      }\n      break\n\n    case 'ENOENT': // not terribly unusual\n    case 'ELOOP':\n    case 'ENAMETOOLONG':\n    case 'UNKNOWN':\n      this.cache[this._makeAbs(f)] = false\n      break\n\n    default: // some unusual error.  Treat as failure.\n      this.cache[this._makeAbs(f)] = false\n      if (this.strict)\n        throw er\n      if (!this.silent)\n        console.error('glob error', er)\n      break\n  }\n}\n\nGlobSync.prototype._processGlobStar = function (prefix, read, abs, remain, index, inGlobStar) {\n\n  var entries = this._readdir(abs, inGlobStar)\n\n  // no entries means not a dir, so it can never have matches\n  // foo.txt/** doesn't match foo.txt\n  if (!entries)\n    return\n\n  // test without the globstar, and with every child both below\n  // and replacing the globstar.\n  var remainWithoutGlobStar = remain.slice(1)\n  var gspref = prefix ? [ prefix ] : []\n  var noGlobStar = gspref.concat(remainWithoutGlobStar)\n\n  // the noGlobStar pattern exits the inGlobStar state\n  this._process(noGlobStar, index, false)\n\n  var len = entries.length\n  var isSym = this.symlinks[abs]\n\n  // If it's a symlink, and we're in a globstar, then stop\n  if (isSym && inGlobStar)\n    return\n\n  for (var i = 0; i < len; i++) {\n    var e = entries[i]\n    if (e.charAt(0) === '.' && !this.dot)\n      continue\n\n    // these two cases enter the inGlobStar state\n    var instead = gspref.concat(entries[i], remainWithoutGlobStar)\n    this._process(instead, index, true)\n\n    var below = gspref.concat(entries[i], remain)\n    this._process(below, index, true)\n  }\n}\n\nGlobSync.prototype._processSimple = function (prefix, index) {\n  // XXX review this.  Shouldn't it be doing the mounting etc\n  // before doing stat?  kinda weird?\n  var exists = this._stat(prefix)\n\n  if (!this.matches[index])\n    this.matches[index] = Object.create(null)\n\n  // If it doesn't exist, then just mark the lack of results\n  if (!exists)\n    return\n\n  if (prefix && isAbsolute(prefix) && !this.nomount) {\n    var trail = /[\\/\\\\]$/.test(prefix)\n    if (prefix.charAt(0) === '/') {\n      prefix = path.join(this.root, prefix)\n    } else {\n      prefix = path.resolve(this.root, prefix)\n      if (trail)\n        prefix += '/'\n    }\n  }\n\n  if (process.platform === 'win32')\n    prefix = prefix.replace(/\\\\/g, '/')\n\n  // Mark this as a match\n  this._emitMatch(index, prefix)\n}\n\n// Returns either 'DIR', 'FILE', or false\nGlobSync.prototype._stat = function (f) {\n  var abs = this._makeAbs(f)\n  var needDir = f.slice(-1) === '/'\n\n  if (f.length > this.maxLength)\n    return false\n\n  if (!this.stat && ownProp(this.cache, abs)) {\n    var c = this.cache[abs]\n\n    if (Array.isArray(c))\n      c = 'DIR'\n\n    // It exists, but maybe not how we need it\n    if (!needDir || c === 'DIR')\n      return c\n\n    if (needDir && c === 'FILE')\n      return false\n\n    // otherwise we have to stat, because maybe c=true\n    // if we know it exists, but not what it is.\n  }\n\n  var exists\n  var stat = this.statCache[abs]\n  if (!stat) {\n    var lstat\n    try {\n      lstat = this.fs.lstatSync(abs)\n    } catch (er) {\n      if (er && (er.code === 'ENOENT' || er.code === 'ENOTDIR')) {\n        this.statCache[abs] = false\n        return false\n      }\n    }\n\n    if (lstat && lstat.isSymbolicLink()) {\n      try {\n        stat = this.fs.statSync(abs)\n      } catch (er) {\n        stat = lstat\n      }\n    } else {\n      stat = lstat\n    }\n  }\n\n  this.statCache[abs] = stat\n\n  var c = true\n  if (stat)\n    c = stat.isDirectory() ? 'DIR' : 'FILE'\n\n  this.cache[abs] = this.cache[abs] || c\n\n  if (needDir && c === 'FILE')\n    return false\n\n  return c\n}\n\nGlobSync.prototype._mark = function (p) {\n  return common.mark(this, p)\n}\n\nGlobSync.prototype._makeAbs = function (f) {\n  return common.makeAbs(this, f)\n}\n","var wrappy = require('wrappy')\nvar reqs = Object.create(null)\nvar once = require('once')\n\nmodule.exports = wrappy(inflight)\n\nfunction inflight (key, cb) {\n  if (reqs[key]) {\n    reqs[key].push(cb)\n    return null\n  } else {\n    reqs[key] = [cb]\n    return makeres(key)\n  }\n}\n\nfunction makeres (key) {\n  return once(function RES () {\n    var cbs = reqs[key]\n    var len = cbs.length\n    var args = slice(arguments)\n\n    // XXX It's somewhat ambiguous whether a new callback added in this\n    // pass should be queued for later execution if something in the\n    // list of callbacks throws, or if it should just be discarded.\n    // However, it's such an edge case that it hardly matters, and either\n    // choice is likely as surprising as the other.\n    // As it happens, we do go ahead and schedule it for later execution.\n    try {\n      for (var i = 0; i < len; i++) {\n        cbs[i].apply(null, args)\n      }\n    } finally {\n      if (cbs.length > len) {\n        // added more in the interim.\n        // de-zalgo, just in case, but don't call again.\n        cbs.splice(0, len)\n        process.nextTick(function () {\n          RES.apply(null, args)\n        })\n      } else {\n        delete reqs[key]\n      }\n    }\n  })\n}\n\nfunction slice (args) {\n  var length = args.length\n  var array = []\n\n  for (var i = 0; i < length; i++) array[i] = args[i]\n  return array\n}\n","// Approach:\n//\n// 1. Get the minimatch set\n// 2. For each pattern in the set, PROCESS(pattern, false)\n// 3. Store matches per-set, then uniq them\n//\n// PROCESS(pattern, inGlobStar)\n// Get the first [n] items from pattern that are all strings\n// Join these together.  This is PREFIX.\n//   If there is no more remaining, then stat(PREFIX) and\n//   add to matches if it succeeds.  END.\n//\n// If inGlobStar and PREFIX is symlink and points to dir\n//   set ENTRIES = []\n// else readdir(PREFIX) as ENTRIES\n//   If fail, END\n//\n// with ENTRIES\n//   If pattern[n] is GLOBSTAR\n//     // handle the case where the globstar match is empty\n//     // by pruning it out, and testing the resulting pattern\n//     PROCESS(pattern[0..n] + pattern[n+1 .. $], false)\n//     // handle other cases.\n//     for ENTRY in ENTRIES (not dotfiles)\n//       // attach globstar + tail onto the entry\n//       // Mark that this entry is a globstar match\n//       PROCESS(pattern[0..n] + ENTRY + pattern[n .. $], true)\n//\n//   else // not globstar\n//     for ENTRY in ENTRIES (not dotfiles, unless pattern[n] is dot)\n//       Test ENTRY against pattern[n]\n//       If fails, continue\n//       If passes, PROCESS(pattern[0..n] + item + pattern[n+1 .. $])\n//\n// Caveat:\n//   Cache all stats and readdirs results to minimize syscall.  Since all\n//   we ever care about is existence and directory-ness, we can just keep\n//   `true` for files, and [children,...] for directories, or `false` for\n//   things that don't exist.\n\nmodule.exports = glob\n\nvar rp = require('fs.realpath')\nvar minimatch = require('minimatch')\nvar Minimatch = minimatch.Minimatch\nvar inherits = require('inherits')\nvar EE = require('events').EventEmitter\nvar path = require('path')\nvar assert = require('assert')\nvar isAbsolute = require('path-is-absolute')\nvar globSync = require('./sync.js')\nvar common = require('./common.js')\nvar setopts = common.setopts\nvar ownProp = common.ownProp\nvar inflight = require('inflight')\nvar util = require('util')\nvar childrenIgnored = common.childrenIgnored\nvar isIgnored = common.isIgnored\n\nvar once = require('once')\n\nfunction glob (pattern, options, cb) {\n  if (typeof options === 'function') cb = options, options = {}\n  if (!options) options = {}\n\n  if (options.sync) {\n    if (cb)\n      throw new TypeError('callback provided to sync glob')\n    return globSync(pattern, options)\n  }\n\n  return new Glob(pattern, options, cb)\n}\n\nglob.sync = globSync\nvar GlobSync = glob.GlobSync = globSync.GlobSync\n\n// old api surface\nglob.glob = glob\n\nfunction extend (origin, add) {\n  if (add === null || typeof add !== 'object') {\n    return origin\n  }\n\n  var keys = Object.keys(add)\n  var i = keys.length\n  while (i--) {\n    origin[keys[i]] = add[keys[i]]\n  }\n  return origin\n}\n\nglob.hasMagic = function (pattern, options_) {\n  var options = extend({}, options_)\n  options.noprocess = true\n\n  var g = new Glob(pattern, options)\n  var set = g.minimatch.set\n\n  if (!pattern)\n    return false\n\n  if (set.length > 1)\n    return true\n\n  for (var j = 0; j < set[0].length; j++) {\n    if (typeof set[0][j] !== 'string')\n      return true\n  }\n\n  return false\n}\n\nglob.Glob = Glob\ninherits(Glob, EE)\nfunction Glob (pattern, options, cb) {\n  if (typeof options === 'function') {\n    cb = options\n    options = null\n  }\n\n  if (options && options.sync) {\n    if (cb)\n      throw new TypeError('callback provided to sync glob')\n    return new GlobSync(pattern, options)\n  }\n\n  if (!(this instanceof Glob))\n    return new Glob(pattern, options, cb)\n\n  setopts(this, pattern, options)\n  this._didRealPath = false\n\n  // process each pattern in the minimatch set\n  var n = this.minimatch.set.length\n\n  // The matches are stored as {: true,...} so that\n  // duplicates are automagically pruned.\n  // Later, we do an Object.keys() on these.\n  // Keep them as a list so we can fill in when nonull is set.\n  this.matches = new Array(n)\n\n  if (typeof cb === 'function') {\n    cb = once(cb)\n    this.on('error', cb)\n    this.on('end', function (matches) {\n      cb(null, matches)\n    })\n  }\n\n  var self = this\n  this._processing = 0\n\n  this._emitQueue = []\n  this._processQueue = []\n  this.paused = false\n\n  if (this.noprocess)\n    return this\n\n  if (n === 0)\n    return done()\n\n  var sync = true\n  for (var i = 0; i < n; i ++) {\n    this._process(this.minimatch.set[i], i, false, done)\n  }\n  sync = false\n\n  function done () {\n    --self._processing\n    if (self._processing <= 0) {\n      if (sync) {\n        process.nextTick(function () {\n          self._finish()\n        })\n      } else {\n        self._finish()\n      }\n    }\n  }\n}\n\nGlob.prototype._finish = function () {\n  assert(this instanceof Glob)\n  if (this.aborted)\n    return\n\n  if (this.realpath && !this._didRealpath)\n    return this._realpath()\n\n  common.finish(this)\n  this.emit('end', this.found)\n}\n\nGlob.prototype._realpath = function () {\n  if (this._didRealpath)\n    return\n\n  this._didRealpath = true\n\n  var n = this.matches.length\n  if (n === 0)\n    return this._finish()\n\n  var self = this\n  for (var i = 0; i < this.matches.length; i++)\n    this._realpathSet(i, next)\n\n  function next () {\n    if (--n === 0)\n      self._finish()\n  }\n}\n\nGlob.prototype._realpathSet = function (index, cb) {\n  var matchset = this.matches[index]\n  if (!matchset)\n    return cb()\n\n  var found = Object.keys(matchset)\n  var self = this\n  var n = found.length\n\n  if (n === 0)\n    return cb()\n\n  var set = this.matches[index] = Object.create(null)\n  found.forEach(function (p, i) {\n    // If there's a problem with the stat, then it means that\n    // one or more of the links in the realpath couldn't be\n    // resolved.  just return the abs value in that case.\n    p = self._makeAbs(p)\n    rp.realpath(p, self.realpathCache, function (er, real) {\n      if (!er)\n        set[real] = true\n      else if (er.syscall === 'stat')\n        set[p] = true\n      else\n        self.emit('error', er) // srsly wtf right here\n\n      if (--n === 0) {\n        self.matches[index] = set\n        cb()\n      }\n    })\n  })\n}\n\nGlob.prototype._mark = function (p) {\n  return common.mark(this, p)\n}\n\nGlob.prototype._makeAbs = function (f) {\n  return common.makeAbs(this, f)\n}\n\nGlob.prototype.abort = function () {\n  this.aborted = true\n  this.emit('abort')\n}\n\nGlob.prototype.pause = function () {\n  if (!this.paused) {\n    this.paused = true\n    this.emit('pause')\n  }\n}\n\nGlob.prototype.resume = function () {\n  if (this.paused) {\n    this.emit('resume')\n    this.paused = false\n    if (this._emitQueue.length) {\n      var eq = this._emitQueue.slice(0)\n      this._emitQueue.length = 0\n      for (var i = 0; i < eq.length; i ++) {\n        var e = eq[i]\n        this._emitMatch(e[0], e[1])\n      }\n    }\n    if (this._processQueue.length) {\n      var pq = this._processQueue.slice(0)\n      this._processQueue.length = 0\n      for (var i = 0; i < pq.length; i ++) {\n        var p = pq[i]\n        this._processing--\n        this._process(p[0], p[1], p[2], p[3])\n      }\n    }\n  }\n}\n\nGlob.prototype._process = function (pattern, index, inGlobStar, cb) {\n  assert(this instanceof Glob)\n  assert(typeof cb === 'function')\n\n  if (this.aborted)\n    return\n\n  this._processing++\n  if (this.paused) {\n    this._processQueue.push([pattern, index, inGlobStar, cb])\n    return\n  }\n\n  //console.error('PROCESS %d', this._processing, pattern)\n\n  // Get the first [n] parts of pattern that are all strings.\n  var n = 0\n  while (typeof pattern[n] === 'string') {\n    n ++\n  }\n  // now n is the index of the first one that is *not* a string.\n\n  // see if there's anything else\n  var prefix\n  switch (n) {\n    // if not, then this is rather simple\n    case pattern.length:\n      this._processSimple(pattern.join('/'), index, cb)\n      return\n\n    case 0:\n      // pattern *starts* with some non-trivial item.\n      // going to readdir(cwd), but not include the prefix in matches.\n      prefix = null\n      break\n\n    default:\n      // pattern has some string bits in the front.\n      // whatever it starts with, whether that's 'absolute' like /foo/bar,\n      // or 'relative' like '../baz'\n      prefix = pattern.slice(0, n).join('/')\n      break\n  }\n\n  var remain = pattern.slice(n)\n\n  // get the list of entries.\n  var read\n  if (prefix === null)\n    read = '.'\n  else if (isAbsolute(prefix) ||\n      isAbsolute(pattern.map(function (p) {\n        return typeof p === 'string' ? p : '[*]'\n      }).join('/'))) {\n    if (!prefix || !isAbsolute(prefix))\n      prefix = '/' + prefix\n    read = prefix\n  } else\n    read = prefix\n\n  var abs = this._makeAbs(read)\n\n  //if ignored, skip _processing\n  if (childrenIgnored(this, read))\n    return cb()\n\n  var isGlobStar = remain[0] === minimatch.GLOBSTAR\n  if (isGlobStar)\n    this._processGlobStar(prefix, read, abs, remain, index, inGlobStar, cb)\n  else\n    this._processReaddir(prefix, read, abs, remain, index, inGlobStar, cb)\n}\n\nGlob.prototype._processReaddir = function (prefix, read, abs, remain, index, inGlobStar, cb) {\n  var self = this\n  this._readdir(abs, inGlobStar, function (er, entries) {\n    return self._processReaddir2(prefix, read, abs, remain, index, inGlobStar, entries, cb)\n  })\n}\n\nGlob.prototype._processReaddir2 = function (prefix, read, abs, remain, index, inGlobStar, entries, cb) {\n\n  // if the abs isn't a dir, then nothing can match!\n  if (!entries)\n    return cb()\n\n  // It will only match dot entries if it starts with a dot, or if\n  // dot is set.  Stuff like @(.foo|.bar) isn't allowed.\n  var pn = remain[0]\n  var negate = !!this.minimatch.negate\n  var rawGlob = pn._glob\n  var dotOk = this.dot || rawGlob.charAt(0) === '.'\n\n  var matchedEntries = []\n  for (var i = 0; i < entries.length; i++) {\n    var e = entries[i]\n    if (e.charAt(0) !== '.' || dotOk) {\n      var m\n      if (negate && !prefix) {\n        m = !e.match(pn)\n      } else {\n        m = e.match(pn)\n      }\n      if (m)\n        matchedEntries.push(e)\n    }\n  }\n\n  //console.error('prd2', prefix, entries, remain[0]._glob, matchedEntries)\n\n  var len = matchedEntries.length\n  // If there are no matched entries, then nothing matches.\n  if (len === 0)\n    return cb()\n\n  // if this is the last remaining pattern bit, then no need for\n  // an additional stat *unless* the user has specified mark or\n  // stat explicitly.  We know they exist, since readdir returned\n  // them.\n\n  if (remain.length === 1 && !this.mark && !this.stat) {\n    if (!this.matches[index])\n      this.matches[index] = Object.create(null)\n\n    for (var i = 0; i < len; i ++) {\n      var e = matchedEntries[i]\n      if (prefix) {\n        if (prefix !== '/')\n          e = prefix + '/' + e\n        else\n          e = prefix + e\n      }\n\n      if (e.charAt(0) === '/' && !this.nomount) {\n        e = path.join(this.root, e)\n      }\n      this._emitMatch(index, e)\n    }\n    // This was the last one, and no stats were needed\n    return cb()\n  }\n\n  // now test all matched entries as stand-ins for that part\n  // of the pattern.\n  remain.shift()\n  for (var i = 0; i < len; i ++) {\n    var e = matchedEntries[i]\n    var newPattern\n    if (prefix) {\n      if (prefix !== '/')\n        e = prefix + '/' + e\n      else\n        e = prefix + e\n    }\n    this._process([e].concat(remain), index, inGlobStar, cb)\n  }\n  cb()\n}\n\nGlob.prototype._emitMatch = function (index, e) {\n  if (this.aborted)\n    return\n\n  if (isIgnored(this, e))\n    return\n\n  if (this.paused) {\n    this._emitQueue.push([index, e])\n    return\n  }\n\n  var abs = isAbsolute(e) ? e : this._makeAbs(e)\n\n  if (this.mark)\n    e = this._mark(e)\n\n  if (this.absolute)\n    e = abs\n\n  if (this.matches[index][e])\n    return\n\n  if (this.nodir) {\n    var c = this.cache[abs]\n    if (c === 'DIR' || Array.isArray(c))\n      return\n  }\n\n  this.matches[index][e] = true\n\n  var st = this.statCache[abs]\n  if (st)\n    this.emit('stat', e, st)\n\n  this.emit('match', e)\n}\n\nGlob.prototype._readdirInGlobStar = function (abs, cb) {\n  if (this.aborted)\n    return\n\n  // follow all symlinked directories forever\n  // just proceed as if this is a non-globstar situation\n  if (this.follow)\n    return this._readdir(abs, false, cb)\n\n  var lstatkey = 'lstat\\0' + abs\n  var self = this\n  var lstatcb = inflight(lstatkey, lstatcb_)\n\n  if (lstatcb)\n    self.fs.lstat(abs, lstatcb)\n\n  function lstatcb_ (er, lstat) {\n    if (er && er.code === 'ENOENT')\n      return cb()\n\n    var isSym = lstat && lstat.isSymbolicLink()\n    self.symlinks[abs] = isSym\n\n    // If it's not a symlink or a dir, then it's definitely a regular file.\n    // don't bother doing a readdir in that case.\n    if (!isSym && lstat && !lstat.isDirectory()) {\n      self.cache[abs] = 'FILE'\n      cb()\n    } else\n      self._readdir(abs, false, cb)\n  }\n}\n\nGlob.prototype._readdir = function (abs, inGlobStar, cb) {\n  if (this.aborted)\n    return\n\n  cb = inflight('readdir\\0'+abs+'\\0'+inGlobStar, cb)\n  if (!cb)\n    return\n\n  //console.error('RD %j %j', +inGlobStar, abs)\n  if (inGlobStar && !ownProp(this.symlinks, abs))\n    return this._readdirInGlobStar(abs, cb)\n\n  if (ownProp(this.cache, abs)) {\n    var c = this.cache[abs]\n    if (!c || c === 'FILE')\n      return cb()\n\n    if (Array.isArray(c))\n      return cb(null, c)\n  }\n\n  var self = this\n  self.fs.readdir(abs, readdirCb(this, abs, cb))\n}\n\nfunction readdirCb (self, abs, cb) {\n  return function (er, entries) {\n    if (er)\n      self._readdirError(abs, er, cb)\n    else\n      self._readdirEntries(abs, entries, cb)\n  }\n}\n\nGlob.prototype._readdirEntries = function (abs, entries, cb) {\n  if (this.aborted)\n    return\n\n  // if we haven't asked to stat everything, then just\n  // assume that everything in there exists, so we can avoid\n  // having to stat it a second time.\n  if (!this.mark && !this.stat) {\n    for (var i = 0; i < entries.length; i ++) {\n      var e = entries[i]\n      if (abs === '/')\n        e = abs + e\n      else\n        e = abs + '/' + e\n      this.cache[e] = true\n    }\n  }\n\n  this.cache[abs] = entries\n  return cb(null, entries)\n}\n\nGlob.prototype._readdirError = function (f, er, cb) {\n  if (this.aborted)\n    return\n\n  // handle errors, and cache the information\n  switch (er.code) {\n    case 'ENOTSUP': // https://github.com/isaacs/node-glob/issues/205\n    case 'ENOTDIR': // totally normal. means it *does* exist.\n      var abs = this._makeAbs(f)\n      this.cache[abs] = 'FILE'\n      if (abs === this.cwdAbs) {\n        var error = new Error(er.code + ' invalid cwd ' + this.cwd)\n        error.path = this.cwd\n        error.code = er.code\n        this.emit('error', error)\n        this.abort()\n      }\n      break\n\n    case 'ENOENT': // not terribly unusual\n    case 'ELOOP':\n    case 'ENAMETOOLONG':\n    case 'UNKNOWN':\n      this.cache[this._makeAbs(f)] = false\n      break\n\n    default: // some unusual error.  Treat as failure.\n      this.cache[this._makeAbs(f)] = false\n      if (this.strict) {\n        this.emit('error', er)\n        // If the error is handled, then we abort\n        // if not, we threw out of here\n        this.abort()\n      }\n      if (!this.silent)\n        console.error('glob error', er)\n      break\n  }\n\n  return cb()\n}\n\nGlob.prototype._processGlobStar = function (prefix, read, abs, remain, index, inGlobStar, cb) {\n  var self = this\n  this._readdir(abs, inGlobStar, function (er, entries) {\n    self._processGlobStar2(prefix, read, abs, remain, index, inGlobStar, entries, cb)\n  })\n}\n\n\nGlob.prototype._processGlobStar2 = function (prefix, read, abs, remain, index, inGlobStar, entries, cb) {\n  //console.error('pgs2', prefix, remain[0], entries)\n\n  // no entries means not a dir, so it can never have matches\n  // foo.txt/** doesn't match foo.txt\n  if (!entries)\n    return cb()\n\n  // test without the globstar, and with every child both below\n  // and replacing the globstar.\n  var remainWithoutGlobStar = remain.slice(1)\n  var gspref = prefix ? [ prefix ] : []\n  var noGlobStar = gspref.concat(remainWithoutGlobStar)\n\n  // the noGlobStar pattern exits the inGlobStar state\n  this._process(noGlobStar, index, false, cb)\n\n  var isSym = this.symlinks[abs]\n  var len = entries.length\n\n  // If it's a symlink, and we're in a globstar, then stop\n  if (isSym && inGlobStar)\n    return cb()\n\n  for (var i = 0; i < len; i++) {\n    var e = entries[i]\n    if (e.charAt(0) === '.' && !this.dot)\n      continue\n\n    // these two cases enter the inGlobStar state\n    var instead = gspref.concat(entries[i], remainWithoutGlobStar)\n    this._process(instead, index, true, cb)\n\n    var below = gspref.concat(entries[i], remain)\n    this._process(below, index, true, cb)\n  }\n\n  cb()\n}\n\nGlob.prototype._processSimple = function (prefix, index, cb) {\n  // XXX review this.  Shouldn't it be doing the mounting etc\n  // before doing stat?  kinda weird?\n  var self = this\n  this._stat(prefix, function (er, exists) {\n    self._processSimple2(prefix, index, er, exists, cb)\n  })\n}\nGlob.prototype._processSimple2 = function (prefix, index, er, exists, cb) {\n\n  //console.error('ps2', prefix, exists)\n\n  if (!this.matches[index])\n    this.matches[index] = Object.create(null)\n\n  // If it doesn't exist, then just mark the lack of results\n  if (!exists)\n    return cb()\n\n  if (prefix && isAbsolute(prefix) && !this.nomount) {\n    var trail = /[\\/\\\\]$/.test(prefix)\n    if (prefix.charAt(0) === '/') {\n      prefix = path.join(this.root, prefix)\n    } else {\n      prefix = path.resolve(this.root, prefix)\n      if (trail)\n        prefix += '/'\n    }\n  }\n\n  if (process.platform === 'win32')\n    prefix = prefix.replace(/\\\\/g, '/')\n\n  // Mark this as a match\n  this._emitMatch(index, prefix)\n  cb()\n}\n\n// Returns either 'DIR', 'FILE', or false\nGlob.prototype._stat = function (f, cb) {\n  var abs = this._makeAbs(f)\n  var needDir = f.slice(-1) === '/'\n\n  if (f.length > this.maxLength)\n    return cb()\n\n  if (!this.stat && ownProp(this.cache, abs)) {\n    var c = this.cache[abs]\n\n    if (Array.isArray(c))\n      c = 'DIR'\n\n    // It exists, but maybe not how we need it\n    if (!needDir || c === 'DIR')\n      return cb(null, c)\n\n    if (needDir && c === 'FILE')\n      return cb()\n\n    // otherwise we have to stat, because maybe c=true\n    // if we know it exists, but not what it is.\n  }\n\n  var exists\n  var stat = this.statCache[abs]\n  if (stat !== undefined) {\n    if (stat === false)\n      return cb(null, stat)\n    else {\n      var type = stat.isDirectory() ? 'DIR' : 'FILE'\n      if (needDir && type === 'FILE')\n        return cb()\n      else\n        return cb(null, type, stat)\n    }\n  }\n\n  var self = this\n  var statcb = inflight('stat\\0' + abs, lstatcb_)\n  if (statcb)\n    self.fs.lstat(abs, statcb)\n\n  function lstatcb_ (er, lstat) {\n    if (lstat && lstat.isSymbolicLink()) {\n      // If it's a symlink, then treat it as the target, unless\n      // the target does not exist, then treat it as a file.\n      return self.fs.stat(abs, function (er, stat) {\n        if (er)\n          self._stat2(f, abs, null, lstat, cb)\n        else\n          self._stat2(f, abs, er, stat, cb)\n      })\n    } else {\n      self._stat2(f, abs, er, lstat, cb)\n    }\n  }\n}\n\nGlob.prototype._stat2 = function (f, abs, er, stat, cb) {\n  if (er && (er.code === 'ENOENT' || er.code === 'ENOTDIR')) {\n    this.statCache[abs] = false\n    return cb()\n  }\n\n  var needDir = f.slice(-1) === '/'\n  this.statCache[abs] = stat\n\n  if (abs.slice(-1) === '/' && stat && !stat.isDirectory())\n    return cb(null, false, stat)\n\n  var c = true\n  if (stat)\n    c = stat.isDirectory() ? 'DIR' : 'FILE'\n  this.cache[abs] = this.cache[abs] || c\n\n  if (needDir && c === 'FILE')\n    return cb()\n\n  return cb(null, c, stat)\n}\n","'use strict'\r\n\r\nvar glob = require('glob')\r\nvar path = require('path')\r\n\r\nfunction trueCasePathSync(fsPath) {\r\n\r\n  // Normalize the path so as to resolve . and .. components.\r\n  // !! As of Node v4.1.1, a path starting with ../ is NOT resolved relative\r\n  // !! to the current dir, and glob.sync() below then fails.\r\n  // !! When in doubt, resolve with fs.realPathSync() *beforehand*.\r\n  var fsPathNormalized = path.normalize(fsPath)\r\n\r\n  // OSX: HFS+ stores filenames in NFD (decomposed normal form) Unicode format,\r\n  // so we must ensure that the input path is in that format first.\r\n  if (process.platform === 'darwin') fsPathNormalized = fsPathNormalized.normalize('NFD')\r\n\r\n  // !! Windows: Curiously, the drive component mustn't be part of a glob,\r\n  // !! otherwise glob.sync() will invariably match nothing.\r\n  // !! Thus, we remove the drive component and instead pass it in as the 'cwd'\r\n  // !! (working dir.) property below.\r\n  var pathRoot = path.parse(fsPathNormalized).root\r\n  var noDrivePath = fsPathNormalized.slice(Math.max(pathRoot.length - 1, 0))\r\n\r\n  // Perform case-insensitive globbing (on Windows, relative to the drive /\r\n  // network share) and return the 1st match, if any.\r\n  // Fortunately, glob() with nocase case-corrects the input even if it is\r\n  // a *literal* path.\r\n  return glob.sync(noDrivePath, { nocase: true, cwd: pathRoot })[0]\r\n}\r\n\r\nmodule.exports = trueCasePathSync\r\n","// @ts-check\n\nconst findUp = require('find-up');\nconst fs = require('fs');\nconst ignore = require('ignore');\nconst isDirectory = require('is-directory');\nconst path = require('path');\nconst trueCasePath = require('true-case-path');\n\nfunction ownerMatcher(pathString) {\n  const matcher = ignore().add(pathString);\n  return matcher.ignores.bind(matcher);\n}\n\nfunction Codeowners(currentPath, fileName = 'CODEOWNERS') {\n  const pathOrCwd = currentPath || process.cwd();\n\n  const codeownersPath = findUp.sync(\n    [`.github/${fileName}`, `.gitlab/${fileName}`, `docs/${fileName}`, `${fileName}`],\n    { cwd: pathOrCwd }\n  );\n\n  if (!codeownersPath) {\n    throw new Error(`Could not find a CODEOWNERS file`);\n  }\n\n  this.codeownersFilePath = trueCasePath(codeownersPath);\n\n  this.codeownersDirectory = path.dirname(this.codeownersFilePath);\n\n  // We might have found a bare codeowners file or one inside the three supported subdirectories.\n  // In the latter case the project root is up another level.\n  if (this.codeownersDirectory.match(/\\/(.github|.gitlab|docs)$/i)) {\n    this.codeownersDirectory = path.dirname(this.codeownersDirectory);\n  }\n\n  const codeownersFile = path.basename(this.codeownersFilePath);\n\n  if (codeownersFile !== fileName) {\n    throw new Error(`Found a ${fileName} file but it was lower-cased: ${this.codeownersFilePath}`);\n  }\n\n  if (isDirectory.sync(this.codeownersFilePath)) {\n    throw new Error(`Found a ${fileName} but it's a directory: ${this.codeownersFilePath}`);\n  }\n\n  const lines = fs\n    .readFileSync(this.codeownersFilePath)\n    .toString()\n    .split(/\\r\\n|\\r|\\n/);\n  const ownerEntries = [];\n\n  for (const line of lines) {\n    if (!line) {\n      continue;\n    }\n\n    if (line.startsWith('#')) {\n      continue;\n    }\n\n    const [pathString, ...usernames] = line.split(/\\s+/);\n\n    ownerEntries.push({\n      path: pathString,\n      usernames,\n      match: ownerMatcher(pathString),\n    });\n  }\n\n  // reverse the owner entries to search from bottom to top\n  // the last matching pattern takes the most precedence\n  this.ownerEntries = ownerEntries.reverse();\n}\n\nconst EMPTY_ARRAY = [];\n\nCodeowners.prototype.getOwner = function getOwner(filePath) {\n  for (const entry of this.ownerEntries) {\n    if (entry.match(filePath)) {\n      return entry.usernames;\n    }\n  }\n\n  return EMPTY_ARRAY;\n};\n\nmodule.exports = Codeowners;\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","/// \n\nconst SymbolPolyfill: (description?: string) => symbol =\n  typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ?\n    Symbol :\n    description => `Symbol(${description})` as any as symbol;\n\nexport default SymbolPolyfill;\n","/// \n\nexport function noop(): undefined {\n  return undefined;\n}\n\nfunction getGlobals() {\n  if (typeof self !== 'undefined') {\n    return self;\n  } else if (typeof window !== 'undefined') {\n    return window;\n  } else if (typeof global !== 'undefined') {\n    return global;\n  }\n  return undefined;\n}\n\nexport const globals = getGlobals();\n","import { noop } from '../../utils';\nimport { AssertionError } from '../../stub/assert';\n\nexport function typeIsObject(x: any): x is object {\n  return (typeof x === 'object' && x !== null) || typeof x === 'function';\n}\n\nexport const rethrowAssertionErrorRejection: (e: any) => void =\n  DEBUG ? e => {\n    // Used throughout the reference implementation, as `.catch(rethrowAssertionErrorRejection)`, to ensure any errors\n    // get shown. There are places in the spec where we do promise transformations and purposefully ignore or don't\n    // expect any errors, but assertion errors are always problematic.\n    if (e && e instanceof AssertionError) {\n      setTimeout(() => {\n        throw e;\n      }, 0);\n    }\n  } : noop;\n","import { globals } from '../../utils';\nimport { rethrowAssertionErrorRejection } from './miscellaneous';\nimport assert from '../../stub/assert';\n\nconst originalPromise = Promise;\nconst originalPromiseThen = Promise.prototype.then;\nconst originalPromiseResolve = Promise.resolve.bind(originalPromise);\nconst originalPromiseReject = Promise.reject.bind(originalPromise);\n\nexport function newPromise(executor: (\n  resolve: (value: T | PromiseLike) => void,\n  reject: (reason?: any) => void\n) => void): Promise {\n  return new originalPromise(executor);\n}\n\nexport function promiseResolvedWith(value: T | PromiseLike): Promise {\n  return originalPromiseResolve(value);\n}\n\nexport function promiseRejectedWith(reason: any): Promise {\n  return originalPromiseReject(reason);\n}\n\nexport function PerformPromiseThen(\n  promise: Promise,\n  onFulfilled?: (value: T) => TResult1 | PromiseLike,\n  onRejected?: (reason: any) => TResult2 | PromiseLike): Promise {\n  // There doesn't appear to be any way to correctly emulate the behaviour from JavaScript, so this is just an\n  // approximation.\n  return originalPromiseThen.call(promise, onFulfilled, onRejected) as Promise;\n}\n\nexport function uponPromise(\n  promise: Promise,\n  onFulfilled?: (value: T) => void | PromiseLike,\n  onRejected?: (reason: any) => void | PromiseLike): void {\n  PerformPromiseThen(\n    PerformPromiseThen(promise, onFulfilled, onRejected),\n    undefined,\n    rethrowAssertionErrorRejection\n  );\n}\n\nexport function uponFulfillment(promise: Promise, onFulfilled: (value: T) => void | PromiseLike): void {\n  uponPromise(promise, onFulfilled);\n}\n\nexport function uponRejection(promise: Promise, onRejected: (reason: any) => void | PromiseLike): void {\n  uponPromise(promise, undefined, onRejected);\n}\n\nexport function transformPromiseWith(\n  promise: Promise,\n  fulfillmentHandler?: (value: T) => TResult1 | PromiseLike,\n  rejectionHandler?: (reason: any) => TResult2 | PromiseLike): Promise {\n  return PerformPromiseThen(promise, fulfillmentHandler, rejectionHandler);\n}\n\nexport function setPromiseIsHandledToTrue(promise: Promise): void {\n  PerformPromiseThen(promise, undefined, rethrowAssertionErrorRejection);\n}\n\nexport const queueMicrotask: (fn: () => void) => void = (() => {\n  const globalQueueMicrotask = globals && globals.queueMicrotask;\n  if (typeof globalQueueMicrotask === 'function') {\n    return globalQueueMicrotask;\n  }\n\n  const resolvedPromise = promiseResolvedWith(undefined);\n  return (fn: () => void) => PerformPromiseThen(resolvedPromise, fn);\n})();\n\nexport function reflectCall(F: (this: T, ...fnArgs: A) => R, V: T, args: A): R {\n  if (typeof F !== 'function') {\n    throw new TypeError('Argument is not a function');\n  }\n  return Function.prototype.apply.call(F, V, args);\n}\n\nexport function promiseCall(F: (this: T, ...fnArgs: A) => R | PromiseLike,\n                                                   V: T,\n                                                   args: A): Promise {\n  assert(typeof F === 'function');\n  assert(V !== undefined);\n  assert(Array.isArray(args));\n  try {\n    return promiseResolvedWith(reflectCall(F, V, args));\n  } catch (value) {\n    return promiseRejectedWith(value);\n  }\n}\n","import assert from '../stub/assert';\n\n// Original from Chromium\n// https://chromium.googlesource.com/chromium/src/+/0aee4434a4dba42a42abaea9bfbc0cd196a63bc1/third_party/blink/renderer/core/streams/SimpleQueue.js\n\nconst QUEUE_MAX_ARRAY_SIZE = 16384;\n\ninterface Node {\n  _elements: T[];\n  _next: Node | undefined;\n}\n\n/**\n * Simple queue structure.\n *\n * Avoids scalability issues with using a packed array directly by using\n * multiple arrays in a linked list and keeping the array size bounded.\n */\nexport class SimpleQueue {\n  private _front: Node;\n  private _back: Node;\n  private _cursor = 0;\n  private _size = 0;\n\n  constructor() {\n    // _front and _back are always defined.\n    this._front = {\n      _elements: [],\n      _next: undefined\n    };\n    this._back = this._front;\n    // The cursor is used to avoid calling Array.shift().\n    // It contains the index of the front element of the array inside the\n    // front-most node. It is always in the range [0, QUEUE_MAX_ARRAY_SIZE).\n    this._cursor = 0;\n    // When there is only one node, size === elements.length - cursor.\n    this._size = 0;\n  }\n\n  get length(): number {\n    return this._size;\n  }\n\n  // For exception safety, this method is structured in order:\n  // 1. Read state\n  // 2. Calculate required state mutations\n  // 3. Perform state mutations\n  push(element: T): void {\n    const oldBack = this._back;\n    let newBack = oldBack;\n    assert(oldBack._next === undefined);\n    if (oldBack._elements.length === QUEUE_MAX_ARRAY_SIZE - 1) {\n      newBack = {\n        _elements: [],\n        _next: undefined\n      };\n    }\n\n    // push() is the mutation most likely to throw an exception, so it\n    // goes first.\n    oldBack._elements.push(element);\n    if (newBack !== oldBack) {\n      this._back = newBack;\n      oldBack._next = newBack;\n    }\n    ++this._size;\n  }\n\n  // Like push(), shift() follows the read -> calculate -> mutate pattern for\n  // exception safety.\n  shift(): T {\n    assert(this._size > 0); // must not be called on an empty queue\n\n    const oldFront = this._front;\n    let newFront = oldFront;\n    const oldCursor = this._cursor;\n    let newCursor = oldCursor + 1;\n\n    const elements = oldFront._elements;\n    const element = elements[oldCursor];\n\n    if (newCursor === QUEUE_MAX_ARRAY_SIZE) {\n      assert(elements.length === QUEUE_MAX_ARRAY_SIZE);\n      assert(oldFront._next !== undefined);\n      newFront = oldFront._next!;\n      newCursor = 0;\n    }\n\n    // No mutations before this point.\n    --this._size;\n    this._cursor = newCursor;\n    if (oldFront !== newFront) {\n      this._front = newFront;\n    }\n\n    // Permit shifted element to be garbage collected.\n    elements[oldCursor] = undefined!;\n\n    return element;\n  }\n\n  // The tricky thing about forEach() is that it can be called\n  // re-entrantly. The queue may be mutated inside the callback. It is easy to\n  // see that push() within the callback has no negative effects since the end\n  // of the queue is checked for on every iteration. If shift() is called\n  // repeatedly within the callback then the next iteration may return an\n  // element that has been removed. In this case the callback will be called\n  // with undefined values until we either \"catch up\" with elements that still\n  // exist or reach the back of the queue.\n  forEach(callback: (element: T) => void): void {\n    let i = this._cursor;\n    let node = this._front;\n    let elements = node._elements;\n    while (i !== elements.length || node._next !== undefined) {\n      if (i === elements.length) {\n        assert(node._next !== undefined);\n        assert(i === QUEUE_MAX_ARRAY_SIZE);\n        node = node._next!;\n        elements = node._elements;\n        i = 0;\n        if (elements.length === 0) {\n          break;\n        }\n      }\n      callback(elements[i]);\n      ++i;\n    }\n  }\n\n  // Return the element that would be returned if shift() was called now,\n  // without modifying the queue.\n  peek(): T {\n    assert(this._size > 0); // must not be called on an empty queue\n\n    const front = this._front;\n    const cursor = this._cursor;\n    return front._elements[cursor];\n  }\n}\n","import assert from '../../stub/assert';\nimport { ReadableStream, ReadableStreamCancel, ReadableStreamReader } from '../readable-stream';\nimport { newPromise, setPromiseIsHandledToTrue } from '../helpers/webidl';\n\nexport function ReadableStreamReaderGenericInitialize(reader: ReadableStreamReader, stream: ReadableStream) {\n  reader._ownerReadableStream = stream;\n  stream._reader = reader;\n\n  if (stream._state === 'readable') {\n    defaultReaderClosedPromiseInitialize(reader);\n  } else if (stream._state === 'closed') {\n    defaultReaderClosedPromiseInitializeAsResolved(reader);\n  } else {\n    assert(stream._state === 'errored');\n\n    defaultReaderClosedPromiseInitializeAsRejected(reader, stream._storedError);\n  }\n}\n\n// A client of ReadableStreamDefaultReader and ReadableStreamBYOBReader may use these functions directly to bypass state\n// check.\n\nexport function ReadableStreamReaderGenericCancel(reader: ReadableStreamReader, reason: any): Promise {\n  const stream = reader._ownerReadableStream;\n  assert(stream !== undefined);\n  return ReadableStreamCancel(stream, reason);\n}\n\nexport function ReadableStreamReaderGenericRelease(reader: ReadableStreamReader) {\n  assert(reader._ownerReadableStream !== undefined);\n  assert(reader._ownerReadableStream._reader === reader);\n\n  if (reader._ownerReadableStream._state === 'readable') {\n    defaultReaderClosedPromiseReject(\n      reader,\n      new TypeError(`Reader was released and can no longer be used to monitor the stream's closedness`));\n  } else {\n    defaultReaderClosedPromiseResetToRejected(\n      reader,\n      new TypeError(`Reader was released and can no longer be used to monitor the stream's closedness`));\n  }\n\n  reader._ownerReadableStream._reader = undefined;\n  reader._ownerReadableStream = undefined!;\n}\n\n// Helper functions for the readers.\n\nexport function readerLockException(name: string): TypeError {\n  return new TypeError('Cannot ' + name + ' a stream using a released reader');\n}\n\n// Helper functions for the ReadableStreamDefaultReader.\n\nexport function defaultReaderClosedPromiseInitialize(reader: ReadableStreamReader) {\n  reader._closedPromise = newPromise((resolve, reject) => {\n    reader._closedPromise_resolve = resolve;\n    reader._closedPromise_reject = reject;\n  });\n}\n\nexport function defaultReaderClosedPromiseInitializeAsRejected(reader: ReadableStreamReader, reason: any) {\n  defaultReaderClosedPromiseInitialize(reader);\n  defaultReaderClosedPromiseReject(reader, reason);\n}\n\nexport function defaultReaderClosedPromiseInitializeAsResolved(reader: ReadableStreamReader) {\n  defaultReaderClosedPromiseInitialize(reader);\n  defaultReaderClosedPromiseResolve(reader);\n}\n\nexport function defaultReaderClosedPromiseReject(reader: ReadableStreamReader, reason: any) {\n  if (reader._closedPromise_reject === undefined) {\n    return;\n  }\n\n  setPromiseIsHandledToTrue(reader._closedPromise);\n  reader._closedPromise_reject(reason);\n  reader._closedPromise_resolve = undefined;\n  reader._closedPromise_reject = undefined;\n}\n\nexport function defaultReaderClosedPromiseResetToRejected(reader: ReadableStreamReader, reason: any) {\n  assert(reader._closedPromise_resolve === undefined);\n  assert(reader._closedPromise_reject === undefined);\n\n  defaultReaderClosedPromiseInitializeAsRejected(reader, reason);\n}\n\nexport function defaultReaderClosedPromiseResolve(reader: ReadableStreamReader) {\n  if (reader._closedPromise_resolve === undefined) {\n    return;\n  }\n\n  reader._closedPromise_resolve(undefined);\n  reader._closedPromise_resolve = undefined;\n  reader._closedPromise_reject = undefined;\n}\n","export const AbortSteps = Symbol('[[AbortSteps]]');\nexport const ErrorSteps = Symbol('[[ErrorSteps]]');\nexport const CancelSteps = Symbol('[[CancelSteps]]');\nexport const PullSteps = Symbol('[[PullSteps]]');\n","/// \n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isFinite#Polyfill\nconst NumberIsFinite: typeof Number.isFinite = Number.isFinite || function (x) {\n  return typeof x === 'number' && isFinite(x);\n};\n\nexport default NumberIsFinite;\n","/// \n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/trunc#Polyfill\nconst MathTrunc: typeof Math.trunc = Math.trunc || function (v) {\n  return v < 0 ? Math.ceil(v) : Math.floor(v);\n};\n\nexport default MathTrunc;\n","import NumberIsFinite from '../../stub/number-isfinite';\nimport MathTrunc from '../../stub/math-trunc';\n\n// https://heycam.github.io/webidl/#idl-dictionaries\nexport function isDictionary(x: any): x is object | null {\n  return typeof x === 'object' || typeof x === 'function';\n}\n\nexport function assertDictionary(obj: unknown,\n                                 context: string): asserts obj is object | null | undefined {\n  if (obj !== undefined && !isDictionary(obj)) {\n    throw new TypeError(`${context} is not an object.`);\n  }\n}\n\nexport type AnyFunction = (...args: any[]) => any;\n\n// https://heycam.github.io/webidl/#idl-callback-functions\nexport function assertFunction(x: unknown, context: string): asserts x is AnyFunction {\n  if (typeof x !== 'function') {\n    throw new TypeError(`${context} is not a function.`);\n  }\n}\n\n// https://heycam.github.io/webidl/#idl-object\nexport function isObject(x: any): x is object {\n  return (typeof x === 'object' && x !== null) || typeof x === 'function';\n}\n\nexport function assertObject(x: unknown,\n                             context: string): asserts x is object {\n  if (!isObject(x)) {\n    throw new TypeError(`${context} is not an object.`);\n  }\n}\n\nexport function assertRequiredArgument(x: T | undefined,\n                                                      position: number,\n                                                      context: string): asserts x is T {\n  if (x === undefined) {\n    throw new TypeError(`Parameter ${position} is required in '${context}'.`);\n  }\n}\n\nexport function assertRequiredField(x: T | undefined,\n                                                   field: string,\n                                                   context: string): asserts x is T {\n  if (x === undefined) {\n    throw new TypeError(`${field} is required in '${context}'.`);\n  }\n}\n\n// https://heycam.github.io/webidl/#idl-unrestricted-double\nexport function convertUnrestrictedDouble(value: unknown): number {\n  return Number(value);\n}\n\nfunction censorNegativeZero(x: number): number {\n  return x === 0 ? 0 : x;\n}\n\nfunction integerPart(x: number): number {\n  return censorNegativeZero(MathTrunc(x));\n}\n\n// https://heycam.github.io/webidl/#idl-unsigned-long-long\nexport function convertUnsignedLongLongWithEnforceRange(value: unknown, context: string): number {\n  const lowerBound = 0;\n  const upperBound = Number.MAX_SAFE_INTEGER;\n\n  let x = Number(value);\n  x = censorNegativeZero(x);\n\n  if (!NumberIsFinite(x)) {\n    throw new TypeError(`${context} is not a finite number`);\n  }\n\n  x = integerPart(x);\n\n  if (x < lowerBound || x > upperBound) {\n    throw new TypeError(`${context} is outside the accepted range of ${lowerBound} to ${upperBound}, inclusive`);\n  }\n\n  if (!NumberIsFinite(x) || x === 0) {\n    return 0;\n  }\n\n  // TODO Use BigInt if supported?\n  // let xBigInt = BigInt(integerPart(x));\n  // xBigInt = BigInt.asUintN(64, xBigInt);\n  // return Number(xBigInt);\n\n  return x;\n}\n","import { IsReadableStream, ReadableStream } from '../readable-stream';\n\nexport function assertReadableStream(x: unknown, context: string): asserts x is ReadableStream {\n  if (!IsReadableStream(x)) {\n    throw new TypeError(`${context} is not a ReadableStream.`);\n  }\n}\n","import assert from '../../stub/assert';\nimport { SimpleQueue } from '../simple-queue';\nimport {\n  ReadableStreamReaderGenericCancel,\n  ReadableStreamReaderGenericInitialize,\n  ReadableStreamReaderGenericRelease,\n  readerLockException\n} from './generic-reader';\nimport { IsReadableStreamLocked, ReadableStream } from '../readable-stream';\nimport { typeIsObject } from '../helpers/miscellaneous';\nimport { PullSteps } from '../abstract-ops/internal-methods';\nimport { newPromise, promiseRejectedWith } from '../helpers/webidl';\nimport { assertRequiredArgument } from '../validators/basic';\nimport { assertReadableStream } from '../validators/readable-stream';\n\n/**\n * A result returned by {@link ReadableStreamDefaultReader.read}.\n *\n * @public\n */\nexport type ReadableStreamDefaultReadResult = {\n  done: false;\n  value: T;\n} | {\n  done: true;\n  value?: undefined;\n}\n\n// Abstract operations for the ReadableStream.\n\nexport function AcquireReadableStreamDefaultReader(stream: ReadableStream): ReadableStreamDefaultReader {\n  return new ReadableStreamDefaultReader(stream);\n}\n\n// ReadableStream API exposed for controllers.\n\nexport function ReadableStreamAddReadRequest(stream: ReadableStream,\n                                                readRequest: ReadRequest): void {\n  assert(IsReadableStreamDefaultReader(stream._reader));\n  assert(stream._state === 'readable');\n\n  (stream._reader! as ReadableStreamDefaultReader)._readRequests.push(readRequest);\n}\n\nexport function ReadableStreamFulfillReadRequest(stream: ReadableStream, chunk: R | undefined, done: boolean) {\n  const reader = stream._reader as ReadableStreamDefaultReader;\n\n  assert(reader._readRequests.length > 0);\n\n  const readRequest = reader._readRequests.shift()!;\n  if (done) {\n    readRequest._closeSteps();\n  } else {\n    readRequest._chunkSteps(chunk!);\n  }\n}\n\nexport function ReadableStreamGetNumReadRequests(stream: ReadableStream): number {\n  return (stream._reader as ReadableStreamDefaultReader)._readRequests.length;\n}\n\nexport function ReadableStreamHasDefaultReader(stream: ReadableStream): boolean {\n  const reader = stream._reader;\n\n  if (reader === undefined) {\n    return false;\n  }\n\n  if (!IsReadableStreamDefaultReader(reader)) {\n    return false;\n  }\n\n  return true;\n}\n\n// Readers\n\nexport interface ReadRequest {\n  _chunkSteps(chunk: R): void;\n\n  _closeSteps(): void;\n\n  _errorSteps(e: any): void;\n}\n\n/**\n * A default reader vended by a {@link ReadableStream}.\n *\n * @public\n */\nexport class ReadableStreamDefaultReader {\n  /** @internal */\n  _ownerReadableStream!: ReadableStream;\n  /** @internal */\n  _closedPromise!: Promise;\n  /** @internal */\n  _closedPromise_resolve?: (value?: undefined) => void;\n  /** @internal */\n  _closedPromise_reject?: (reason: any) => void;\n  /** @internal */\n  _readRequests: SimpleQueue>;\n\n  constructor(stream: ReadableStream) {\n    assertRequiredArgument(stream, 1, 'ReadableStreamDefaultReader');\n    assertReadableStream(stream, 'First parameter');\n\n    if (IsReadableStreamLocked(stream)) {\n      throw new TypeError('This stream has already been locked for exclusive reading by another reader');\n    }\n\n    ReadableStreamReaderGenericInitialize(this, stream);\n\n    this._readRequests = new SimpleQueue();\n  }\n\n  /**\n   * Returns a promise that will be fulfilled when the stream becomes closed,\n   * or rejected if the stream ever errors or the reader's lock is released before the stream finishes closing.\n   */\n  get closed(): Promise {\n    if (!IsReadableStreamDefaultReader(this)) {\n      return promiseRejectedWith(defaultReaderBrandCheckException('closed'));\n    }\n\n    return this._closedPromise;\n  }\n\n  /**\n   * If the reader is active, behaves the same as {@link ReadableStream.cancel | stream.cancel(reason)}.\n   */\n  cancel(reason: any = undefined): Promise {\n    if (!IsReadableStreamDefaultReader(this)) {\n      return promiseRejectedWith(defaultReaderBrandCheckException('cancel'));\n    }\n\n    if (this._ownerReadableStream === undefined) {\n      return promiseRejectedWith(readerLockException('cancel'));\n    }\n\n    return ReadableStreamReaderGenericCancel(this, reason);\n  }\n\n  /**\n   * Returns a promise that allows access to the next chunk from the stream's internal queue, if available.\n   *\n   * If reading a chunk causes the queue to become empty, more data will be pulled from the underlying source.\n   */\n  read(): Promise> {\n    if (!IsReadableStreamDefaultReader(this)) {\n      return promiseRejectedWith(defaultReaderBrandCheckException('read'));\n    }\n\n    if (this._ownerReadableStream === undefined) {\n      return promiseRejectedWith(readerLockException('read from'));\n    }\n\n    let resolvePromise!: (result: ReadableStreamDefaultReadResult) => void;\n    let rejectPromise!: (reason: any) => void;\n    const promise = newPromise>((resolve, reject) => {\n      resolvePromise = resolve;\n      rejectPromise = reject;\n    });\n    const readRequest: ReadRequest = {\n      _chunkSteps: chunk => resolvePromise({ value: chunk, done: false }),\n      _closeSteps: () => resolvePromise({ value: undefined, done: true }),\n      _errorSteps: e => rejectPromise(e)\n    };\n    ReadableStreamDefaultReaderRead(this, readRequest);\n    return promise;\n  }\n\n  /**\n   * Releases the reader's lock on the corresponding stream. After the lock is released, the reader is no longer active.\n   * If the associated stream is errored when the lock is released, the reader will appear errored in the same way\n   * from now on; otherwise, the reader will appear closed.\n   *\n   * A reader's lock cannot be released while it still has a pending read request, i.e., if a promise returned by\n   * the reader's {@link ReadableStreamDefaultReader.read | read()} method has not yet been settled. Attempting to\n   * do so will throw a `TypeError` and leave the reader locked to the stream.\n   */\n  releaseLock(): void {\n    if (!IsReadableStreamDefaultReader(this)) {\n      throw defaultReaderBrandCheckException('releaseLock');\n    }\n\n    if (this._ownerReadableStream === undefined) {\n      return;\n    }\n\n    if (this._readRequests.length > 0) {\n      throw new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled');\n    }\n\n    ReadableStreamReaderGenericRelease(this);\n  }\n}\n\nObject.defineProperties(ReadableStreamDefaultReader.prototype, {\n  cancel: { enumerable: true },\n  read: { enumerable: true },\n  releaseLock: { enumerable: true },\n  closed: { enumerable: true }\n});\nif (typeof Symbol.toStringTag === 'symbol') {\n  Object.defineProperty(ReadableStreamDefaultReader.prototype, Symbol.toStringTag, {\n    value: 'ReadableStreamDefaultReader',\n    configurable: true\n  });\n}\n\n// Abstract operations for the readers.\n\nexport function IsReadableStreamDefaultReader(x: any): x is ReadableStreamDefaultReader {\n  if (!typeIsObject(x)) {\n    return false;\n  }\n\n  if (!Object.prototype.hasOwnProperty.call(x, '_readRequests')) {\n    return false;\n  }\n\n  return x instanceof ReadableStreamDefaultReader;\n}\n\nexport function ReadableStreamDefaultReaderRead(reader: ReadableStreamDefaultReader,\n                                                   readRequest: ReadRequest): void {\n  const stream = reader._ownerReadableStream;\n\n  assert(stream !== undefined);\n\n  stream._disturbed = true;\n\n  if (stream._state === 'closed') {\n    readRequest._closeSteps();\n  } else if (stream._state === 'errored') {\n    readRequest._errorSteps(stream._storedError);\n  } else {\n    assert(stream._state === 'readable');\n    stream._readableStreamController[PullSteps](readRequest as ReadRequest);\n  }\n}\n\n// Helper functions for the ReadableStreamDefaultReader.\n\nfunction defaultReaderBrandCheckException(name: string): TypeError {\n  return new TypeError(\n    `ReadableStreamDefaultReader.prototype.${name} can only be used on a ReadableStreamDefaultReader`);\n}\n","/// \n\n/* eslint-disable @typescript-eslint/no-empty-function */\nexport const AsyncIteratorPrototype: AsyncIterable | undefined =\n  Object.getPrototypeOf(Object.getPrototypeOf(async function* (): AsyncIterableIterator {}).prototype);\n","/// \n\nimport { ReadableStream } from '../readable-stream';\nimport {\n  AcquireReadableStreamDefaultReader,\n  ReadableStreamDefaultReader,\n  ReadableStreamDefaultReaderRead,\n  ReadableStreamDefaultReadResult,\n  ReadRequest\n} from './default-reader';\nimport {\n  ReadableStreamReaderGenericCancel,\n  ReadableStreamReaderGenericRelease,\n  readerLockException\n} from './generic-reader';\nimport assert from '../../stub/assert';\nimport { AsyncIteratorPrototype } from '@@target/stub/async-iterator-prototype';\nimport { typeIsObject } from '../helpers/miscellaneous';\nimport {\n  newPromise,\n  promiseRejectedWith,\n  promiseResolvedWith,\n  queueMicrotask,\n  transformPromiseWith\n} from '../helpers/webidl';\n\n/**\n * An async iterator returned by {@link ReadableStream.values}.\n *\n * @public\n */\nexport interface ReadableStreamAsyncIterator extends AsyncIterator {\n  next(): Promise>;\n\n  return(value?: any): Promise>;\n}\n\nexport class ReadableStreamAsyncIteratorImpl {\n  private readonly _reader: ReadableStreamDefaultReader;\n  private readonly _preventCancel: boolean;\n  private _ongoingPromise: Promise> | undefined = undefined;\n  private _isFinished = false;\n\n  constructor(reader: ReadableStreamDefaultReader, preventCancel: boolean) {\n    this._reader = reader;\n    this._preventCancel = preventCancel;\n  }\n\n  next(): Promise> {\n    const nextSteps = () => this._nextSteps();\n    this._ongoingPromise = this._ongoingPromise ?\n      transformPromiseWith(this._ongoingPromise, nextSteps, nextSteps) :\n      nextSteps();\n    return this._ongoingPromise;\n  }\n\n  return(value: any): Promise> {\n    const returnSteps = () => this._returnSteps(value);\n    return this._ongoingPromise ?\n      transformPromiseWith(this._ongoingPromise, returnSteps, returnSteps) :\n      returnSteps();\n  }\n\n  private _nextSteps(): Promise> {\n    if (this._isFinished) {\n      return Promise.resolve({ value: undefined, done: true });\n    }\n\n    const reader = this._reader;\n    if (reader._ownerReadableStream === undefined) {\n      return promiseRejectedWith(readerLockException('iterate'));\n    }\n\n    let resolvePromise!: (result: ReadableStreamDefaultReadResult) => void;\n    let rejectPromise!: (reason: any) => void;\n    const promise = newPromise>((resolve, reject) => {\n      resolvePromise = resolve;\n      rejectPromise = reject;\n    });\n    const readRequest: ReadRequest = {\n      _chunkSteps: chunk => {\n        this._ongoingPromise = undefined;\n        // This needs to be delayed by one microtask, otherwise we stop pulling too early which breaks a test.\n        // FIXME Is this a bug in the specification, or in the test?\n        queueMicrotask(() => resolvePromise({ value: chunk, done: false }));\n      },\n      _closeSteps: () => {\n        this._ongoingPromise = undefined;\n        this._isFinished = true;\n        ReadableStreamReaderGenericRelease(reader);\n        resolvePromise({ value: undefined, done: true });\n      },\n      _errorSteps: reason => {\n        this._ongoingPromise = undefined;\n        this._isFinished = true;\n        ReadableStreamReaderGenericRelease(reader);\n        rejectPromise(reason);\n      }\n    };\n    ReadableStreamDefaultReaderRead(reader, readRequest);\n    return promise;\n  }\n\n  private _returnSteps(value: any): Promise> {\n    if (this._isFinished) {\n      return Promise.resolve({ value, done: true });\n    }\n    this._isFinished = true;\n\n    const reader = this._reader;\n    if (reader._ownerReadableStream === undefined) {\n      return promiseRejectedWith(readerLockException('finish iterating'));\n    }\n\n    assert(reader._readRequests.length === 0);\n\n    if (!this._preventCancel) {\n      const result = ReadableStreamReaderGenericCancel(reader, value);\n      ReadableStreamReaderGenericRelease(reader);\n      return transformPromiseWith(result, () => ({ value, done: true }));\n    }\n\n    ReadableStreamReaderGenericRelease(reader);\n    return promiseResolvedWith({ value, done: true });\n  }\n}\n\ndeclare class ReadableStreamAsyncIteratorInstance implements ReadableStreamAsyncIterator {\n  /** @interal */\n  _asyncIteratorImpl: ReadableStreamAsyncIteratorImpl;\n\n  next(): Promise>;\n\n  return(value?: any): Promise>;\n}\n\nconst ReadableStreamAsyncIteratorPrototype: ReadableStreamAsyncIteratorInstance = {\n  next(this: ReadableStreamAsyncIteratorInstance): Promise> {\n    if (!IsReadableStreamAsyncIterator(this)) {\n      return promiseRejectedWith(streamAsyncIteratorBrandCheckException('next'));\n    }\n    return this._asyncIteratorImpl.next();\n  },\n\n  return(this: ReadableStreamAsyncIteratorInstance, value: any): Promise> {\n    if (!IsReadableStreamAsyncIterator(this)) {\n      return promiseRejectedWith(streamAsyncIteratorBrandCheckException('return'));\n    }\n    return this._asyncIteratorImpl.return(value);\n  }\n} as any;\nif (AsyncIteratorPrototype !== undefined) {\n  Object.setPrototypeOf(ReadableStreamAsyncIteratorPrototype, AsyncIteratorPrototype);\n}\n\n// Abstract operations for the ReadableStream.\n\nexport function AcquireReadableStreamAsyncIterator(stream: ReadableStream,\n                                                      preventCancel: boolean): ReadableStreamAsyncIterator {\n  const reader = AcquireReadableStreamDefaultReader(stream);\n  const impl = new ReadableStreamAsyncIteratorImpl(reader, preventCancel);\n  const iterator: ReadableStreamAsyncIteratorInstance = Object.create(ReadableStreamAsyncIteratorPrototype);\n  iterator._asyncIteratorImpl = impl;\n  return iterator;\n}\n\nfunction IsReadableStreamAsyncIterator(x: any): x is ReadableStreamAsyncIterator {\n  if (!typeIsObject(x)) {\n    return false;\n  }\n\n  if (!Object.prototype.hasOwnProperty.call(x, '_asyncIteratorImpl')) {\n    return false;\n  }\n\n  try {\n    // noinspection SuspiciousTypeOfGuard\n    return (x as ReadableStreamAsyncIteratorInstance)._asyncIteratorImpl instanceof\n      ReadableStreamAsyncIteratorImpl;\n  } catch {\n    return false;\n  }\n}\n\n// Helper functions for the ReadableStream.\n\nfunction streamAsyncIteratorBrandCheckException(name: string): TypeError {\n  return new TypeError(`ReadableStreamAsyncIterator.${name} can only be used on a ReadableSteamAsyncIterator`);\n}\n","/// \n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isNaN#Polyfill\nconst NumberIsNaN: typeof Number.isNaN = Number.isNaN || function (x) {\n  // eslint-disable-next-line no-self-compare\n  return x !== x;\n};\n\nexport default NumberIsNaN;\n","export function CreateArrayFromList(elements: T): T {\n  // We use arrays to represent lists, so this is basically a no-op.\n  // Do a slice though just in case we happen to depend on the unique-ness.\n  return elements.slice() as T;\n}\n\nexport function CopyDataBlockBytes(dest: ArrayBuffer,\n                                   destOffset: number,\n                                   src: ArrayBuffer,\n                                   srcOffset: number,\n                                   n: number) {\n  new Uint8Array(dest).set(new Uint8Array(src, srcOffset, n), destOffset);\n}\n\n// Not implemented correctly\nexport function TransferArrayBuffer(O: T): T {\n  return O;\n}\n\n// Not implemented correctly\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport function CanTransferArrayBuffer(O: ArrayBufferLike): boolean {\n  return true;\n}\n\n// Not implemented correctly\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport function IsDetachedBuffer(O: ArrayBufferLike): boolean {\n  return false;\n}\n\nexport function ArrayBufferSlice(buffer: ArrayBufferLike, begin: number, end: number): ArrayBufferLike {\n  // ArrayBuffer.prototype.slice is not available on IE10\n  // https://www.caniuse.com/mdn-javascript_builtins_arraybuffer_slice\n  if (buffer.slice) {\n    return buffer.slice(begin, end);\n  }\n  const length = end - begin;\n  const slice = new ArrayBuffer(length);\n  CopyDataBlockBytes(slice, 0, buffer, begin, length);\n  return slice;\n}\n","import NumberIsNaN from '../../stub/number-isnan';\nimport { ArrayBufferSlice } from './ecmascript';\n\nexport function IsNonNegativeNumber(v: number): boolean {\n  if (typeof v !== 'number') {\n    return false;\n  }\n\n  if (NumberIsNaN(v)) {\n    return false;\n  }\n\n  if (v < 0) {\n    return false;\n  }\n\n  return true;\n}\n\nexport function CloneAsUint8Array(O: ArrayBufferView): Uint8Array {\n  const buffer = ArrayBufferSlice(O.buffer, O.byteOffset, O.byteOffset + O.byteLength);\n  return new Uint8Array(buffer);\n}\n","import assert from '../../stub/assert';\nimport { SimpleQueue } from '../simple-queue';\nimport { IsNonNegativeNumber } from './miscellaneous';\n\nexport interface QueueContainer {\n  _queue: SimpleQueue;\n  _queueTotalSize: number;\n}\n\nexport interface QueuePair {\n  value: T;\n  size: number;\n}\n\nexport function DequeueValue(container: QueueContainer>): T {\n  assert('_queue' in container && '_queueTotalSize' in container);\n  assert(container._queue.length > 0);\n\n  const pair = container._queue.shift()!;\n  container._queueTotalSize -= pair.size;\n  if (container._queueTotalSize < 0) {\n    container._queueTotalSize = 0;\n  }\n\n  return pair.value;\n}\n\nexport function EnqueueValueWithSize(container: QueueContainer>, value: T, size: number) {\n  assert('_queue' in container && '_queueTotalSize' in container);\n\n  if (!IsNonNegativeNumber(size) || size === Infinity) {\n    throw new RangeError('Size must be a finite, non-NaN, non-negative number.');\n  }\n\n  container._queue.push({ value, size });\n  container._queueTotalSize += size;\n}\n\nexport function PeekQueueValue(container: QueueContainer>): T {\n  assert('_queue' in container && '_queueTotalSize' in container);\n  assert(container._queue.length > 0);\n\n  const pair = container._queue.peek();\n  return pair.value;\n}\n\nexport function ResetQueue(container: QueueContainer) {\n  assert('_queue' in container && '_queueTotalSize' in container);\n\n  container._queue = new SimpleQueue();\n  container._queueTotalSize = 0;\n}\n","import assert from '../../stub/assert';\nimport { SimpleQueue } from '../simple-queue';\nimport { ResetQueue } from '../abstract-ops/queue-with-sizes';\nimport {\n  ReadableStreamAddReadRequest,\n  ReadableStreamFulfillReadRequest,\n  ReadableStreamGetNumReadRequests,\n  ReadableStreamHasDefaultReader,\n  ReadRequest\n} from './default-reader';\nimport {\n  ReadableStreamAddReadIntoRequest,\n  ReadableStreamFulfillReadIntoRequest,\n  ReadableStreamGetNumReadIntoRequests,\n  ReadableStreamHasBYOBReader,\n  ReadIntoRequest\n} from './byob-reader';\nimport NumberIsInteger from '../../stub/number-isinteger';\nimport {\n  IsReadableStreamLocked,\n  ReadableByteStream,\n  ReadableStreamClose,\n  ReadableStreamError\n} from '../readable-stream';\nimport { ValidatedUnderlyingByteSource } from './underlying-source';\nimport { typeIsObject } from '../helpers/miscellaneous';\nimport {\n  ArrayBufferSlice,\n  CanTransferArrayBuffer,\n  CopyDataBlockBytes,\n  IsDetachedBuffer,\n  TransferArrayBuffer\n} from '../abstract-ops/ecmascript';\nimport { CancelSteps, PullSteps } from '../abstract-ops/internal-methods';\nimport { promiseResolvedWith, uponPromise } from '../helpers/webidl';\nimport { assertRequiredArgument, convertUnsignedLongLongWithEnforceRange } from '../validators/basic';\n\n/**\n * A pull-into request in a {@link ReadableByteStreamController}.\n *\n * @public\n */\nexport class ReadableStreamBYOBRequest {\n  /** @internal */\n  _associatedReadableByteStreamController!: ReadableByteStreamController;\n  /** @internal */\n  _view!: ArrayBufferView | null;\n\n  private constructor() {\n    throw new TypeError('Illegal constructor');\n  }\n\n  /**\n   * Returns the view for writing in to, or `null` if the BYOB request has already been responded to.\n   */\n  get view(): ArrayBufferView | null {\n    if (!IsReadableStreamBYOBRequest(this)) {\n      throw byobRequestBrandCheckException('view');\n    }\n\n    return this._view;\n  }\n\n  /**\n   * Indicates to the associated readable byte stream that `bytesWritten` bytes were written into\n   * {@link ReadableStreamBYOBRequest.view | view}, causing the result be surfaced to the consumer.\n   *\n   * After this method is called, {@link ReadableStreamBYOBRequest.view | view} will be transferred and no longer\n   * modifiable.\n   */\n  respond(bytesWritten: number): void;\n  respond(bytesWritten: number | undefined): void {\n    if (!IsReadableStreamBYOBRequest(this)) {\n      throw byobRequestBrandCheckException('respond');\n    }\n    assertRequiredArgument(bytesWritten, 1, 'respond');\n    bytesWritten = convertUnsignedLongLongWithEnforceRange(bytesWritten, 'First parameter');\n\n    if (this._associatedReadableByteStreamController === undefined) {\n      throw new TypeError('This BYOB request has been invalidated');\n    }\n\n    if (IsDetachedBuffer(this._view!.buffer)) {\n      throw new TypeError(`The BYOB request's buffer has been detached and so cannot be used as a response`);\n    }\n\n    assert(this._view!.byteLength > 0);\n    assert(this._view!.buffer.byteLength > 0);\n\n    ReadableByteStreamControllerRespond(this._associatedReadableByteStreamController, bytesWritten);\n  }\n\n  /**\n   * Indicates to the associated readable byte stream that instead of writing into\n   * {@link ReadableStreamBYOBRequest.view | view}, the underlying byte source is providing a new `ArrayBufferView`,\n   * which will be given to the consumer of the readable byte stream.\n   *\n   * After this method is called, `view` will be transferred and no longer modifiable.\n   */\n  respondWithNewView(view: ArrayBufferView): void;\n  respondWithNewView(view: ArrayBufferView | undefined): void {\n    if (!IsReadableStreamBYOBRequest(this)) {\n      throw byobRequestBrandCheckException('respondWithNewView');\n    }\n    assertRequiredArgument(view, 1, 'respondWithNewView');\n\n    if (!ArrayBuffer.isView(view)) {\n      throw new TypeError('You can only respond with array buffer views');\n    }\n\n    if (this._associatedReadableByteStreamController === undefined) {\n      throw new TypeError('This BYOB request has been invalidated');\n    }\n\n    if (IsDetachedBuffer(view.buffer)) {\n      throw new TypeError('The given view\\'s buffer has been detached and so cannot be used as a response');\n    }\n\n    ReadableByteStreamControllerRespondWithNewView(this._associatedReadableByteStreamController, view);\n  }\n}\n\nObject.defineProperties(ReadableStreamBYOBRequest.prototype, {\n  respond: { enumerable: true },\n  respondWithNewView: { enumerable: true },\n  view: { enumerable: true }\n});\nif (typeof Symbol.toStringTag === 'symbol') {\n  Object.defineProperty(ReadableStreamBYOBRequest.prototype, Symbol.toStringTag, {\n    value: 'ReadableStreamBYOBRequest',\n    configurable: true\n  });\n}\n\ninterface ArrayBufferViewConstructor {\n  new(buffer: ArrayBufferLike, byteOffset: number, length?: number): T;\n\n  readonly prototype: T;\n  readonly BYTES_PER_ELEMENT: number;\n}\n\ninterface ByteQueueElement {\n  buffer: ArrayBufferLike;\n  byteOffset: number;\n  byteLength: number;\n}\n\ntype PullIntoDescriptor =\n  DefaultPullIntoDescriptor\n  | BYOBPullIntoDescriptor;\n\ninterface DefaultPullIntoDescriptor {\n  buffer: ArrayBufferLike;\n  bufferByteLength: number;\n  byteOffset: number;\n  byteLength: number;\n  bytesFilled: number;\n  elementSize: number;\n  viewConstructor: ArrayBufferViewConstructor;\n  readerType: 'default';\n}\n\ninterface BYOBPullIntoDescriptor {\n  buffer: ArrayBufferLike;\n  bufferByteLength: number;\n  byteOffset: number;\n  byteLength: number;\n  bytesFilled: number;\n  elementSize: number;\n  viewConstructor: ArrayBufferViewConstructor;\n  readerType: 'byob';\n}\n\n/**\n * Allows control of a {@link ReadableStream | readable byte stream}'s state and internal queue.\n *\n * @public\n */\nexport class ReadableByteStreamController {\n  /** @internal */\n  _controlledReadableByteStream!: ReadableByteStream;\n  /** @internal */\n  _queue!: SimpleQueue;\n  /** @internal */\n  _queueTotalSize!: number;\n  /** @internal */\n  _started!: boolean;\n  /** @internal */\n  _closeRequested!: boolean;\n  /** @internal */\n  _pullAgain!: boolean;\n  /** @internal */\n  _pulling !: boolean;\n  /** @internal */\n  _strategyHWM!: number;\n  /** @internal */\n  _pullAlgorithm!: () => Promise;\n  /** @internal */\n  _cancelAlgorithm!: (reason: any) => Promise;\n  /** @internal */\n  _autoAllocateChunkSize: number | undefined;\n  /** @internal */\n  _byobRequest: ReadableStreamBYOBRequest | null;\n  /** @internal */\n  _pendingPullIntos!: SimpleQueue;\n\n  private constructor() {\n    throw new TypeError('Illegal constructor');\n  }\n\n  /**\n   * Returns the current BYOB pull request, or `null` if there isn't one.\n   */\n  get byobRequest(): ReadableStreamBYOBRequest | null {\n    if (!IsReadableByteStreamController(this)) {\n      throw byteStreamControllerBrandCheckException('byobRequest');\n    }\n\n    return ReadableByteStreamControllerGetBYOBRequest(this);\n  }\n\n  /**\n   * Returns the desired size to fill the controlled stream's internal queue. It can be negative, if the queue is\n   * over-full. An underlying byte source ought to use this information to determine when and how to apply backpressure.\n   */\n  get desiredSize(): number | null {\n    if (!IsReadableByteStreamController(this)) {\n      throw byteStreamControllerBrandCheckException('desiredSize');\n    }\n\n    return ReadableByteStreamControllerGetDesiredSize(this);\n  }\n\n  /**\n   * Closes the controlled readable stream. Consumers will still be able to read any previously-enqueued chunks from\n   * the stream, but once those are read, the stream will become closed.\n   */\n  close(): void {\n    if (!IsReadableByteStreamController(this)) {\n      throw byteStreamControllerBrandCheckException('close');\n    }\n\n    if (this._closeRequested) {\n      throw new TypeError('The stream has already been closed; do not close it again!');\n    }\n\n    const state = this._controlledReadableByteStream._state;\n    if (state !== 'readable') {\n      throw new TypeError(`The stream (in ${state} state) is not in the readable state and cannot be closed`);\n    }\n\n    ReadableByteStreamControllerClose(this);\n  }\n\n  /**\n   * Enqueues the given chunk chunk in the controlled readable stream.\n   * The chunk has to be an `ArrayBufferView` instance, or else a `TypeError` will be thrown.\n   */\n  enqueue(chunk: ArrayBufferView): void;\n  enqueue(chunk: ArrayBufferView | undefined): void {\n    if (!IsReadableByteStreamController(this)) {\n      throw byteStreamControllerBrandCheckException('enqueue');\n    }\n\n    assertRequiredArgument(chunk, 1, 'enqueue');\n    if (!ArrayBuffer.isView(chunk)) {\n      throw new TypeError('chunk must be an array buffer view');\n    }\n    if (chunk.byteLength === 0) {\n      throw new TypeError('chunk must have non-zero byteLength');\n    }\n    if (chunk.buffer.byteLength === 0) {\n      throw new TypeError(`chunk's buffer must have non-zero byteLength`);\n    }\n\n    if (this._closeRequested) {\n      throw new TypeError('stream is closed or draining');\n    }\n\n    const state = this._controlledReadableByteStream._state;\n    if (state !== 'readable') {\n      throw new TypeError(`The stream (in ${state} state) is not in the readable state and cannot be enqueued to`);\n    }\n\n    ReadableByteStreamControllerEnqueue(this, chunk);\n  }\n\n  /**\n   * Errors the controlled readable stream, making all future interactions with it fail with the given error `e`.\n   */\n  error(e: any = undefined): void {\n    if (!IsReadableByteStreamController(this)) {\n      throw byteStreamControllerBrandCheckException('error');\n    }\n\n    ReadableByteStreamControllerError(this, e);\n  }\n\n  /** @internal */\n  [CancelSteps](reason: any): Promise {\n    ReadableByteStreamControllerClearPendingPullIntos(this);\n\n    ResetQueue(this);\n\n    const result = this._cancelAlgorithm(reason);\n    ReadableByteStreamControllerClearAlgorithms(this);\n    return result;\n  }\n\n  /** @internal */\n  [PullSteps](readRequest: ReadRequest): void {\n    const stream = this._controlledReadableByteStream;\n    assert(ReadableStreamHasDefaultReader(stream));\n\n    if (this._queueTotalSize > 0) {\n      assert(ReadableStreamGetNumReadRequests(stream) === 0);\n\n      const entry = this._queue.shift()!;\n      this._queueTotalSize -= entry.byteLength;\n\n      ReadableByteStreamControllerHandleQueueDrain(this);\n\n      const view = new Uint8Array(entry.buffer, entry.byteOffset, entry.byteLength);\n\n      readRequest._chunkSteps(view);\n      return;\n    }\n\n    const autoAllocateChunkSize = this._autoAllocateChunkSize;\n    if (autoAllocateChunkSize !== undefined) {\n      let buffer: ArrayBuffer;\n      try {\n        buffer = new ArrayBuffer(autoAllocateChunkSize);\n      } catch (bufferE) {\n        readRequest._errorSteps(bufferE);\n        return;\n      }\n\n      const pullIntoDescriptor: DefaultPullIntoDescriptor = {\n        buffer,\n        bufferByteLength: autoAllocateChunkSize,\n        byteOffset: 0,\n        byteLength: autoAllocateChunkSize,\n        bytesFilled: 0,\n        elementSize: 1,\n        viewConstructor: Uint8Array,\n        readerType: 'default'\n      };\n\n      this._pendingPullIntos.push(pullIntoDescriptor);\n    }\n\n    ReadableStreamAddReadRequest(stream, readRequest);\n    ReadableByteStreamControllerCallPullIfNeeded(this);\n  }\n}\n\nObject.defineProperties(ReadableByteStreamController.prototype, {\n  close: { enumerable: true },\n  enqueue: { enumerable: true },\n  error: { enumerable: true },\n  byobRequest: { enumerable: true },\n  desiredSize: { enumerable: true }\n});\nif (typeof Symbol.toStringTag === 'symbol') {\n  Object.defineProperty(ReadableByteStreamController.prototype, Symbol.toStringTag, {\n    value: 'ReadableByteStreamController',\n    configurable: true\n  });\n}\n\n// Abstract operations for the ReadableByteStreamController.\n\nexport function IsReadableByteStreamController(x: any): x is ReadableByteStreamController {\n  if (!typeIsObject(x)) {\n    return false;\n  }\n\n  if (!Object.prototype.hasOwnProperty.call(x, '_controlledReadableByteStream')) {\n    return false;\n  }\n\n  return x instanceof ReadableByteStreamController;\n}\n\nfunction IsReadableStreamBYOBRequest(x: any): x is ReadableStreamBYOBRequest {\n  if (!typeIsObject(x)) {\n    return false;\n  }\n\n  if (!Object.prototype.hasOwnProperty.call(x, '_associatedReadableByteStreamController')) {\n    return false;\n  }\n\n  return x instanceof ReadableStreamBYOBRequest;\n}\n\nfunction ReadableByteStreamControllerCallPullIfNeeded(controller: ReadableByteStreamController): void {\n  const shouldPull = ReadableByteStreamControllerShouldCallPull(controller);\n  if (!shouldPull) {\n    return;\n  }\n\n  if (controller._pulling) {\n    controller._pullAgain = true;\n    return;\n  }\n\n  assert(!controller._pullAgain);\n\n  controller._pulling = true;\n\n  // TODO: Test controller argument\n  const pullPromise = controller._pullAlgorithm();\n  uponPromise(\n    pullPromise,\n    () => {\n      controller._pulling = false;\n\n      if (controller._pullAgain) {\n        controller._pullAgain = false;\n        ReadableByteStreamControllerCallPullIfNeeded(controller);\n      }\n    },\n    e => {\n      ReadableByteStreamControllerError(controller, e);\n    }\n  );\n}\n\nfunction ReadableByteStreamControllerClearPendingPullIntos(controller: ReadableByteStreamController) {\n  ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n  controller._pendingPullIntos = new SimpleQueue();\n}\n\nfunction ReadableByteStreamControllerCommitPullIntoDescriptor(\n  stream: ReadableByteStream,\n  pullIntoDescriptor: PullIntoDescriptor\n) {\n  assert(stream._state !== 'errored');\n\n  let done = false;\n  if (stream._state === 'closed') {\n    assert(pullIntoDescriptor.bytesFilled === 0);\n    done = true;\n  }\n\n  const filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);\n  if (pullIntoDescriptor.readerType === 'default') {\n    ReadableStreamFulfillReadRequest(stream, filledView as unknown as Uint8Array, done);\n  } else {\n    assert(pullIntoDescriptor.readerType === 'byob');\n    ReadableStreamFulfillReadIntoRequest(stream, filledView, done);\n  }\n}\n\nfunction ReadableByteStreamControllerConvertPullIntoDescriptor(\n  pullIntoDescriptor: PullIntoDescriptor\n): T {\n  const bytesFilled = pullIntoDescriptor.bytesFilled;\n  const elementSize = pullIntoDescriptor.elementSize;\n\n  assert(bytesFilled <= pullIntoDescriptor.byteLength);\n  assert(bytesFilled % elementSize === 0);\n\n  return new pullIntoDescriptor.viewConstructor(\n    pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, bytesFilled / elementSize) as T;\n}\n\nfunction ReadableByteStreamControllerEnqueueChunkToQueue(controller: ReadableByteStreamController,\n                                                         buffer: ArrayBufferLike,\n                                                         byteOffset: number,\n                                                         byteLength: number) {\n  controller._queue.push({ buffer, byteOffset, byteLength });\n  controller._queueTotalSize += byteLength;\n}\n\nfunction ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller: ReadableByteStreamController,\n                                                                     pullIntoDescriptor: PullIntoDescriptor) {\n  const elementSize = pullIntoDescriptor.elementSize;\n\n  const currentAlignedBytes = pullIntoDescriptor.bytesFilled - pullIntoDescriptor.bytesFilled % elementSize;\n\n  const maxBytesToCopy = Math.min(controller._queueTotalSize,\n                                  pullIntoDescriptor.byteLength - pullIntoDescriptor.bytesFilled);\n  const maxBytesFilled = pullIntoDescriptor.bytesFilled + maxBytesToCopy;\n  const maxAlignedBytes = maxBytesFilled - maxBytesFilled % elementSize;\n\n  let totalBytesToCopyRemaining = maxBytesToCopy;\n  let ready = false;\n  if (maxAlignedBytes > currentAlignedBytes) {\n    totalBytesToCopyRemaining = maxAlignedBytes - pullIntoDescriptor.bytesFilled;\n    ready = true;\n  }\n\n  const queue = controller._queue;\n\n  while (totalBytesToCopyRemaining > 0) {\n    const headOfQueue = queue.peek();\n\n    const bytesToCopy = Math.min(totalBytesToCopyRemaining, headOfQueue.byteLength);\n\n    const destStart = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;\n    CopyDataBlockBytes(pullIntoDescriptor.buffer, destStart, headOfQueue.buffer, headOfQueue.byteOffset, bytesToCopy);\n\n    if (headOfQueue.byteLength === bytesToCopy) {\n      queue.shift();\n    } else {\n      headOfQueue.byteOffset += bytesToCopy;\n      headOfQueue.byteLength -= bytesToCopy;\n    }\n    controller._queueTotalSize -= bytesToCopy;\n\n    ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesToCopy, pullIntoDescriptor);\n\n    totalBytesToCopyRemaining -= bytesToCopy;\n  }\n\n  if (!ready) {\n    assert(controller._queueTotalSize === 0);\n    assert(pullIntoDescriptor.bytesFilled > 0);\n    assert(pullIntoDescriptor.bytesFilled < pullIntoDescriptor.elementSize);\n  }\n\n  return ready;\n}\n\nfunction ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller: ReadableByteStreamController,\n                                                                size: number,\n                                                                pullIntoDescriptor: PullIntoDescriptor) {\n  assert(controller._pendingPullIntos.length === 0 || controller._pendingPullIntos.peek() === pullIntoDescriptor);\n  assert(controller._byobRequest === null);\n  pullIntoDescriptor.bytesFilled += size;\n}\n\nfunction ReadableByteStreamControllerHandleQueueDrain(controller: ReadableByteStreamController) {\n  assert(controller._controlledReadableByteStream._state === 'readable');\n\n  if (controller._queueTotalSize === 0 && controller._closeRequested) {\n    ReadableByteStreamControllerClearAlgorithms(controller);\n    ReadableStreamClose(controller._controlledReadableByteStream);\n  } else {\n    ReadableByteStreamControllerCallPullIfNeeded(controller);\n  }\n}\n\nfunction ReadableByteStreamControllerInvalidateBYOBRequest(controller: ReadableByteStreamController) {\n  if (controller._byobRequest === null) {\n    return;\n  }\n\n  controller._byobRequest._associatedReadableByteStreamController = undefined!;\n  controller._byobRequest._view = null!;\n  controller._byobRequest = null;\n}\n\nfunction ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller: ReadableByteStreamController) {\n  assert(!controller._closeRequested);\n\n  while (controller._pendingPullIntos.length > 0) {\n    if (controller._queueTotalSize === 0) {\n      return;\n    }\n\n    const pullIntoDescriptor = controller._pendingPullIntos.peek();\n\n    if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor)) {\n      ReadableByteStreamControllerShiftPendingPullInto(controller);\n\n      ReadableByteStreamControllerCommitPullIntoDescriptor(\n        controller._controlledReadableByteStream,\n        pullIntoDescriptor\n      );\n    }\n  }\n}\n\nexport function ReadableByteStreamControllerPullInto(\n  controller: ReadableByteStreamController,\n  view: T,\n  readIntoRequest: ReadIntoRequest\n): void {\n  const stream = controller._controlledReadableByteStream;\n\n  let elementSize = 1;\n  if (view.constructor !== DataView) {\n    elementSize = (view.constructor as ArrayBufferViewConstructor).BYTES_PER_ELEMENT;\n  }\n\n  const ctor = view.constructor as ArrayBufferViewConstructor;\n\n  // try {\n  const buffer = TransferArrayBuffer(view.buffer);\n  // } catch (e) {\n  //   readIntoRequest._errorSteps(e);\n  //   return;\n  // }\n\n  const pullIntoDescriptor: BYOBPullIntoDescriptor = {\n    buffer,\n    bufferByteLength: buffer.byteLength,\n    byteOffset: view.byteOffset,\n    byteLength: view.byteLength,\n    bytesFilled: 0,\n    elementSize,\n    viewConstructor: ctor,\n    readerType: 'byob'\n  };\n\n  if (controller._pendingPullIntos.length > 0) {\n    controller._pendingPullIntos.push(pullIntoDescriptor);\n\n    // No ReadableByteStreamControllerCallPullIfNeeded() call since:\n    // - No change happens on desiredSize\n    // - The source has already been notified of that there's at least 1 pending read(view)\n\n    ReadableStreamAddReadIntoRequest(stream, readIntoRequest);\n    return;\n  }\n\n  if (stream._state === 'closed') {\n    const emptyView = new ctor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, 0);\n    readIntoRequest._closeSteps(emptyView);\n    return;\n  }\n\n  if (controller._queueTotalSize > 0) {\n    if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor)) {\n      const filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);\n\n      ReadableByteStreamControllerHandleQueueDrain(controller);\n\n      readIntoRequest._chunkSteps(filledView);\n      return;\n    }\n\n    if (controller._closeRequested) {\n      const e = new TypeError('Insufficient bytes to fill elements in the given buffer');\n      ReadableByteStreamControllerError(controller, e);\n\n      readIntoRequest._errorSteps(e);\n      return;\n    }\n  }\n\n  controller._pendingPullIntos.push(pullIntoDescriptor);\n\n  ReadableStreamAddReadIntoRequest(stream, readIntoRequest);\n  ReadableByteStreamControllerCallPullIfNeeded(controller);\n}\n\nfunction ReadableByteStreamControllerRespondInClosedState(controller: ReadableByteStreamController,\n                                                          firstDescriptor: PullIntoDescriptor) {\n  assert(firstDescriptor.bytesFilled === 0);\n\n  const stream = controller._controlledReadableByteStream;\n  if (ReadableStreamHasBYOBReader(stream)) {\n    while (ReadableStreamGetNumReadIntoRequests(stream) > 0) {\n      const pullIntoDescriptor = ReadableByteStreamControllerShiftPendingPullInto(controller);\n      ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor);\n    }\n  }\n}\n\nfunction ReadableByteStreamControllerRespondInReadableState(controller: ReadableByteStreamController,\n                                                            bytesWritten: number,\n                                                            pullIntoDescriptor: PullIntoDescriptor) {\n  assert(pullIntoDescriptor.bytesFilled + bytesWritten <= pullIntoDescriptor.byteLength);\n\n  ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesWritten, pullIntoDescriptor);\n\n  if (pullIntoDescriptor.bytesFilled < pullIntoDescriptor.elementSize) {\n    return;\n  }\n\n  ReadableByteStreamControllerShiftPendingPullInto(controller);\n\n  const remainderSize = pullIntoDescriptor.bytesFilled % pullIntoDescriptor.elementSize;\n  if (remainderSize > 0) {\n    const end = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;\n    const remainder = ArrayBufferSlice(pullIntoDescriptor.buffer, end - remainderSize, end);\n    ReadableByteStreamControllerEnqueueChunkToQueue(controller, remainder, 0, remainder.byteLength);\n  }\n\n  pullIntoDescriptor.bytesFilled -= remainderSize;\n  ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream, pullIntoDescriptor);\n\n  ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);\n}\n\nfunction ReadableByteStreamControllerRespondInternal(controller: ReadableByteStreamController, bytesWritten: number) {\n  const firstDescriptor = controller._pendingPullIntos.peek();\n  assert(CanTransferArrayBuffer(firstDescriptor.buffer));\n\n  ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n\n  const state = controller._controlledReadableByteStream._state;\n  if (state === 'closed') {\n    assert(bytesWritten === 0);\n    ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor);\n  } else {\n    assert(state === 'readable');\n    assert(bytesWritten > 0);\n    ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, firstDescriptor);\n  }\n\n  ReadableByteStreamControllerCallPullIfNeeded(controller);\n}\n\nfunction ReadableByteStreamControllerShiftPendingPullInto(\n  controller: ReadableByteStreamController\n): PullIntoDescriptor {\n  assert(controller._byobRequest === null);\n  const descriptor = controller._pendingPullIntos.shift()!;\n  return descriptor;\n}\n\nfunction ReadableByteStreamControllerShouldCallPull(controller: ReadableByteStreamController): boolean {\n  const stream = controller._controlledReadableByteStream;\n\n  if (stream._state !== 'readable') {\n    return false;\n  }\n\n  if (controller._closeRequested) {\n    return false;\n  }\n\n  if (!controller._started) {\n    return false;\n  }\n\n  if (ReadableStreamHasDefaultReader(stream) && ReadableStreamGetNumReadRequests(stream) > 0) {\n    return true;\n  }\n\n  if (ReadableStreamHasBYOBReader(stream) && ReadableStreamGetNumReadIntoRequests(stream) > 0) {\n    return true;\n  }\n\n  const desiredSize = ReadableByteStreamControllerGetDesiredSize(controller);\n  assert(desiredSize !== null);\n  if (desiredSize! > 0) {\n    return true;\n  }\n\n  return false;\n}\n\nfunction ReadableByteStreamControllerClearAlgorithms(controller: ReadableByteStreamController) {\n  controller._pullAlgorithm = undefined!;\n  controller._cancelAlgorithm = undefined!;\n}\n\n// A client of ReadableByteStreamController may use these functions directly to bypass state check.\n\nexport function ReadableByteStreamControllerClose(controller: ReadableByteStreamController) {\n  const stream = controller._controlledReadableByteStream;\n\n  if (controller._closeRequested || stream._state !== 'readable') {\n    return;\n  }\n\n  if (controller._queueTotalSize > 0) {\n    controller._closeRequested = true;\n\n    return;\n  }\n\n  if (controller._pendingPullIntos.length > 0) {\n    const firstPendingPullInto = controller._pendingPullIntos.peek();\n    if (firstPendingPullInto.bytesFilled > 0) {\n      const e = new TypeError('Insufficient bytes to fill elements in the given buffer');\n      ReadableByteStreamControllerError(controller, e);\n\n      throw e;\n    }\n  }\n\n  ReadableByteStreamControllerClearAlgorithms(controller);\n  ReadableStreamClose(stream);\n}\n\nexport function ReadableByteStreamControllerEnqueue(controller: ReadableByteStreamController, chunk: ArrayBufferView) {\n  const stream = controller._controlledReadableByteStream;\n\n  if (controller._closeRequested || stream._state !== 'readable') {\n    return;\n  }\n\n  const buffer = chunk.buffer;\n  const byteOffset = chunk.byteOffset;\n  const byteLength = chunk.byteLength;\n  if (IsDetachedBuffer(buffer)) {\n    throw new TypeError('chunk\\'s buffer is detached and so cannot be enqueued');\n  }\n  const transferredBuffer = TransferArrayBuffer(buffer);\n\n  if (controller._pendingPullIntos.length > 0) {\n    const firstPendingPullInto = controller._pendingPullIntos.peek();\n    if (IsDetachedBuffer(firstPendingPullInto.buffer)) {\n      throw new TypeError(\n        'The BYOB request\\'s buffer has been detached and so cannot be filled with an enqueued chunk'\n      );\n    }\n    firstPendingPullInto.buffer = TransferArrayBuffer(firstPendingPullInto.buffer);\n  }\n\n  ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n\n  if (ReadableStreamHasDefaultReader(stream)) {\n    if (ReadableStreamGetNumReadRequests(stream) === 0) {\n      assert(controller._pendingPullIntos.length === 0);\n      ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\n    } else {\n      assert(controller._queue.length === 0);\n      if (controller._pendingPullIntos.length > 0) {\n        assert(controller._pendingPullIntos.peek().readerType === 'default');\n        ReadableByteStreamControllerShiftPendingPullInto(controller);\n      }\n      const transferredView = new Uint8Array(transferredBuffer, byteOffset, byteLength);\n      ReadableStreamFulfillReadRequest(stream, transferredView, false);\n    }\n  } else if (ReadableStreamHasBYOBReader(stream)) {\n    // TODO: Ideally in this branch detaching should happen only if the buffer is not consumed fully.\n    ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\n    ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);\n  } else {\n    assert(!IsReadableStreamLocked(stream));\n    ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\n  }\n\n  ReadableByteStreamControllerCallPullIfNeeded(controller);\n}\n\nexport function ReadableByteStreamControllerError(controller: ReadableByteStreamController, e: any) {\n  const stream = controller._controlledReadableByteStream;\n\n  if (stream._state !== 'readable') {\n    return;\n  }\n\n  ReadableByteStreamControllerClearPendingPullIntos(controller);\n\n  ResetQueue(controller);\n  ReadableByteStreamControllerClearAlgorithms(controller);\n  ReadableStreamError(stream, e);\n}\n\nexport function ReadableByteStreamControllerGetBYOBRequest(\n  controller: ReadableByteStreamController\n): ReadableStreamBYOBRequest | null {\n  if (controller._byobRequest === null && controller._pendingPullIntos.length > 0) {\n    const firstDescriptor = controller._pendingPullIntos.peek();\n    const view = new Uint8Array(firstDescriptor.buffer,\n                                firstDescriptor.byteOffset + firstDescriptor.bytesFilled,\n                                firstDescriptor.byteLength - firstDescriptor.bytesFilled);\n\n    const byobRequest: ReadableStreamBYOBRequest = Object.create(ReadableStreamBYOBRequest.prototype);\n    SetUpReadableStreamBYOBRequest(byobRequest, controller, view);\n    controller._byobRequest = byobRequest;\n  }\n  return controller._byobRequest;\n}\n\nfunction ReadableByteStreamControllerGetDesiredSize(controller: ReadableByteStreamController): number | null {\n  const state = controller._controlledReadableByteStream._state;\n\n  if (state === 'errored') {\n    return null;\n  }\n  if (state === 'closed') {\n    return 0;\n  }\n\n  return controller._strategyHWM - controller._queueTotalSize;\n}\n\nexport function ReadableByteStreamControllerRespond(controller: ReadableByteStreamController, bytesWritten: number) {\n  assert(controller._pendingPullIntos.length > 0);\n\n  const firstDescriptor = controller._pendingPullIntos.peek();\n  const state = controller._controlledReadableByteStream._state;\n\n  if (state === 'closed') {\n    if (bytesWritten !== 0) {\n      throw new TypeError('bytesWritten must be 0 when calling respond() on a closed stream');\n    }\n  } else {\n    assert(state === 'readable');\n    if (bytesWritten === 0) {\n      throw new TypeError('bytesWritten must be greater than 0 when calling respond() on a readable stream');\n    }\n    if (firstDescriptor.bytesFilled + bytesWritten > firstDescriptor.byteLength) {\n      throw new RangeError('bytesWritten out of range');\n    }\n  }\n\n  firstDescriptor.buffer = TransferArrayBuffer(firstDescriptor.buffer);\n\n  ReadableByteStreamControllerRespondInternal(controller, bytesWritten);\n}\n\nexport function ReadableByteStreamControllerRespondWithNewView(controller: ReadableByteStreamController,\n                                                               view: ArrayBufferView) {\n  assert(controller._pendingPullIntos.length > 0);\n  assert(!IsDetachedBuffer(view.buffer));\n\n  const firstDescriptor = controller._pendingPullIntos.peek();\n  const state = controller._controlledReadableByteStream._state;\n\n  if (state === 'closed') {\n    if (view.byteLength !== 0) {\n      throw new TypeError('The view\\'s length must be 0 when calling respondWithNewView() on a closed stream');\n    }\n  } else {\n    assert(state === 'readable');\n    if (view.byteLength === 0) {\n      throw new TypeError(\n        'The view\\'s length must be greater than 0 when calling respondWithNewView() on a readable stream'\n      );\n    }\n  }\n\n  if (firstDescriptor.byteOffset + firstDescriptor.bytesFilled !== view.byteOffset) {\n    throw new RangeError('The region specified by view does not match byobRequest');\n  }\n  if (firstDescriptor.bufferByteLength !== view.buffer.byteLength) {\n    throw new RangeError('The buffer of view has different capacity than byobRequest');\n  }\n  if (firstDescriptor.bytesFilled + view.byteLength > firstDescriptor.byteLength) {\n    throw new RangeError('The region specified by view is larger than byobRequest');\n  }\n\n  const viewByteLength = view.byteLength;\n  firstDescriptor.buffer = TransferArrayBuffer(view.buffer);\n  ReadableByteStreamControllerRespondInternal(controller, viewByteLength);\n}\n\nexport function SetUpReadableByteStreamController(stream: ReadableByteStream,\n                                                  controller: ReadableByteStreamController,\n                                                  startAlgorithm: () => void | PromiseLike,\n                                                  pullAlgorithm: () => Promise,\n                                                  cancelAlgorithm: (reason: any) => Promise,\n                                                  highWaterMark: number,\n                                                  autoAllocateChunkSize: number | undefined) {\n  assert(stream._readableStreamController === undefined);\n  if (autoAllocateChunkSize !== undefined) {\n    assert(NumberIsInteger(autoAllocateChunkSize));\n    assert(autoAllocateChunkSize > 0);\n  }\n\n  controller._controlledReadableByteStream = stream;\n\n  controller._pullAgain = false;\n  controller._pulling = false;\n\n  controller._byobRequest = null;\n\n  // Need to set the slots so that the assert doesn't fire. In the spec the slots already exist implicitly.\n  controller._queue = controller._queueTotalSize = undefined!;\n  ResetQueue(controller);\n\n  controller._closeRequested = false;\n  controller._started = false;\n\n  controller._strategyHWM = highWaterMark;\n\n  controller._pullAlgorithm = pullAlgorithm;\n  controller._cancelAlgorithm = cancelAlgorithm;\n\n  controller._autoAllocateChunkSize = autoAllocateChunkSize;\n\n  controller._pendingPullIntos = new SimpleQueue();\n\n  stream._readableStreamController = controller;\n\n  const startResult = startAlgorithm();\n  uponPromise(\n    promiseResolvedWith(startResult),\n    () => {\n      controller._started = true;\n\n      assert(!controller._pulling);\n      assert(!controller._pullAgain);\n\n      ReadableByteStreamControllerCallPullIfNeeded(controller);\n    },\n    r => {\n      ReadableByteStreamControllerError(controller, r);\n    }\n  );\n}\n\nexport function SetUpReadableByteStreamControllerFromUnderlyingSource(\n  stream: ReadableByteStream,\n  underlyingByteSource: ValidatedUnderlyingByteSource,\n  highWaterMark: number\n) {\n  const controller: ReadableByteStreamController = Object.create(ReadableByteStreamController.prototype);\n\n  let startAlgorithm: () => void | PromiseLike = () => undefined;\n  let pullAlgorithm: () => Promise = () => promiseResolvedWith(undefined);\n  let cancelAlgorithm: (reason: any) => Promise = () => promiseResolvedWith(undefined);\n\n  if (underlyingByteSource.start !== undefined) {\n    startAlgorithm = () => underlyingByteSource.start!(controller);\n  }\n  if (underlyingByteSource.pull !== undefined) {\n    pullAlgorithm = () => underlyingByteSource.pull!(controller);\n  }\n  if (underlyingByteSource.cancel !== undefined) {\n    cancelAlgorithm = reason => underlyingByteSource.cancel!(reason);\n  }\n\n  const autoAllocateChunkSize = underlyingByteSource.autoAllocateChunkSize;\n  if (autoAllocateChunkSize === 0) {\n    throw new TypeError('autoAllocateChunkSize must be greater than 0');\n  }\n\n  SetUpReadableByteStreamController(\n    stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, autoAllocateChunkSize\n  );\n}\n\nfunction SetUpReadableStreamBYOBRequest(request: ReadableStreamBYOBRequest,\n                                        controller: ReadableByteStreamController,\n                                        view: ArrayBufferView) {\n  assert(IsReadableByteStreamController(controller));\n  assert(typeof view === 'object');\n  assert(ArrayBuffer.isView(view));\n  assert(!IsDetachedBuffer(view.buffer));\n  request._associatedReadableByteStreamController = controller;\n  request._view = view;\n}\n\n// Helper functions for the ReadableStreamBYOBRequest.\n\nfunction byobRequestBrandCheckException(name: string): TypeError {\n  return new TypeError(\n    `ReadableStreamBYOBRequest.prototype.${name} can only be used on a ReadableStreamBYOBRequest`);\n}\n\n// Helper functions for the ReadableByteStreamController.\n\nfunction byteStreamControllerBrandCheckException(name: string): TypeError {\n  return new TypeError(\n    `ReadableByteStreamController.prototype.${name} can only be used on a ReadableByteStreamController`);\n}\n","import assert from '../../stub/assert';\nimport { SimpleQueue } from '../simple-queue';\nimport {\n  ReadableStreamReaderGenericCancel,\n  ReadableStreamReaderGenericInitialize,\n  ReadableStreamReaderGenericRelease,\n  readerLockException\n} from './generic-reader';\nimport { IsReadableStreamLocked, ReadableByteStream, ReadableStream } from '../readable-stream';\nimport {\n  IsReadableByteStreamController,\n  ReadableByteStreamController,\n  ReadableByteStreamControllerPullInto\n} from './byte-stream-controller';\nimport { typeIsObject } from '../helpers/miscellaneous';\nimport { newPromise, promiseRejectedWith } from '../helpers/webidl';\nimport { assertRequiredArgument } from '../validators/basic';\nimport { assertReadableStream } from '../validators/readable-stream';\nimport { IsDetachedBuffer } from '../abstract-ops/ecmascript';\n\n/**\n * A result returned by {@link ReadableStreamBYOBReader.read}.\n *\n * @public\n */\nexport type ReadableStreamBYOBReadResult = {\n  done: false;\n  value: T;\n} | {\n  done: true;\n  value: T | undefined;\n};\n\n// Abstract operations for the ReadableStream.\n\nexport function AcquireReadableStreamBYOBReader(stream: ReadableByteStream): ReadableStreamBYOBReader {\n  return new ReadableStreamBYOBReader(stream);\n}\n\n// ReadableStream API exposed for controllers.\n\nexport function ReadableStreamAddReadIntoRequest(stream: ReadableByteStream,\n                                                                            readIntoRequest: ReadIntoRequest): void {\n  assert(IsReadableStreamBYOBReader(stream._reader));\n  assert(stream._state === 'readable' || stream._state === 'closed');\n\n  (stream._reader! as ReadableStreamBYOBReader)._readIntoRequests.push(readIntoRequest);\n}\n\nexport function ReadableStreamFulfillReadIntoRequest(stream: ReadableByteStream,\n                                                     chunk: ArrayBufferView,\n                                                     done: boolean) {\n  const reader = stream._reader as ReadableStreamBYOBReader;\n\n  assert(reader._readIntoRequests.length > 0);\n\n  const readIntoRequest = reader._readIntoRequests.shift()!;\n  if (done) {\n    readIntoRequest._closeSteps(chunk);\n  } else {\n    readIntoRequest._chunkSteps(chunk);\n  }\n}\n\nexport function ReadableStreamGetNumReadIntoRequests(stream: ReadableByteStream): number {\n  return (stream._reader as ReadableStreamBYOBReader)._readIntoRequests.length;\n}\n\nexport function ReadableStreamHasBYOBReader(stream: ReadableByteStream): boolean {\n  const reader = stream._reader;\n\n  if (reader === undefined) {\n    return false;\n  }\n\n  if (!IsReadableStreamBYOBReader(reader)) {\n    return false;\n  }\n\n  return true;\n}\n\n// Readers\n\nexport interface ReadIntoRequest {\n  _chunkSteps(chunk: T): void;\n\n  _closeSteps(chunk: T | undefined): void;\n\n  _errorSteps(e: any): void;\n}\n\n/**\n * A BYOB reader vended by a {@link ReadableStream}.\n *\n * @public\n */\nexport class ReadableStreamBYOBReader {\n  /** @internal */\n  _ownerReadableStream!: ReadableByteStream;\n  /** @internal */\n  _closedPromise!: Promise;\n  /** @internal */\n  _closedPromise_resolve?: (value?: undefined) => void;\n  /** @internal */\n  _closedPromise_reject?: (reason: any) => void;\n  /** @internal */\n  _readIntoRequests: SimpleQueue>;\n\n  constructor(stream: ReadableByteStream) {\n    assertRequiredArgument(stream, 1, 'ReadableStreamBYOBReader');\n    assertReadableStream(stream, 'First parameter');\n\n    if (IsReadableStreamLocked(stream)) {\n      throw new TypeError('This stream has already been locked for exclusive reading by another reader');\n    }\n\n    if (!IsReadableByteStreamController(stream._readableStreamController)) {\n      throw new TypeError('Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte ' +\n        'source');\n    }\n\n    ReadableStreamReaderGenericInitialize(this, stream);\n\n    this._readIntoRequests = new SimpleQueue();\n  }\n\n  /**\n   * Returns a promise that will be fulfilled when the stream becomes closed, or rejected if the stream ever errors or\n   * the reader's lock is released before the stream finishes closing.\n   */\n  get closed(): Promise {\n    if (!IsReadableStreamBYOBReader(this)) {\n      return promiseRejectedWith(byobReaderBrandCheckException('closed'));\n    }\n\n    return this._closedPromise;\n  }\n\n  /**\n   * If the reader is active, behaves the same as {@link ReadableStream.cancel | stream.cancel(reason)}.\n   */\n  cancel(reason: any = undefined): Promise {\n    if (!IsReadableStreamBYOBReader(this)) {\n      return promiseRejectedWith(byobReaderBrandCheckException('cancel'));\n    }\n\n    if (this._ownerReadableStream === undefined) {\n      return promiseRejectedWith(readerLockException('cancel'));\n    }\n\n    return ReadableStreamReaderGenericCancel(this, reason);\n  }\n\n  /**\n   * Attempts to reads bytes into view, and returns a promise resolved with the result.\n   *\n   * If reading a chunk causes the queue to become empty, more data will be pulled from the underlying source.\n   */\n  read(view: T): Promise> {\n    if (!IsReadableStreamBYOBReader(this)) {\n      return promiseRejectedWith(byobReaderBrandCheckException('read'));\n    }\n\n    if (!ArrayBuffer.isView(view)) {\n      return promiseRejectedWith(new TypeError('view must be an array buffer view'));\n    }\n    if (view.byteLength === 0) {\n      return promiseRejectedWith(new TypeError('view must have non-zero byteLength'));\n    }\n    if (view.buffer.byteLength === 0) {\n      return promiseRejectedWith(new TypeError(`view's buffer must have non-zero byteLength`));\n    }\n    if (IsDetachedBuffer(view.buffer)) {\n      return promiseRejectedWith(new TypeError('view\\'s buffer has been detached'));\n    }\n\n    if (this._ownerReadableStream === undefined) {\n      return promiseRejectedWith(readerLockException('read from'));\n    }\n\n    let resolvePromise!: (result: ReadableStreamBYOBReadResult) => void;\n    let rejectPromise!: (reason: any) => void;\n    const promise = newPromise>((resolve, reject) => {\n      resolvePromise = resolve;\n      rejectPromise = reject;\n    });\n    const readIntoRequest: ReadIntoRequest = {\n      _chunkSteps: chunk => resolvePromise({ value: chunk, done: false }),\n      _closeSteps: chunk => resolvePromise({ value: chunk, done: true }),\n      _errorSteps: e => rejectPromise(e)\n    };\n    ReadableStreamBYOBReaderRead(this, view, readIntoRequest);\n    return promise;\n  }\n\n  /**\n   * Releases the reader's lock on the corresponding stream. After the lock is released, the reader is no longer active.\n   * If the associated stream is errored when the lock is released, the reader will appear errored in the same way\n   * from now on; otherwise, the reader will appear closed.\n   *\n   * A reader's lock cannot be released while it still has a pending read request, i.e., if a promise returned by\n   * the reader's {@link ReadableStreamBYOBReader.read | read()} method has not yet been settled. Attempting to\n   * do so will throw a `TypeError` and leave the reader locked to the stream.\n   */\n  releaseLock(): void {\n    if (!IsReadableStreamBYOBReader(this)) {\n      throw byobReaderBrandCheckException('releaseLock');\n    }\n\n    if (this._ownerReadableStream === undefined) {\n      return;\n    }\n\n    if (this._readIntoRequests.length > 0) {\n      throw new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled');\n    }\n\n    ReadableStreamReaderGenericRelease(this);\n  }\n}\n\nObject.defineProperties(ReadableStreamBYOBReader.prototype, {\n  cancel: { enumerable: true },\n  read: { enumerable: true },\n  releaseLock: { enumerable: true },\n  closed: { enumerable: true }\n});\nif (typeof Symbol.toStringTag === 'symbol') {\n  Object.defineProperty(ReadableStreamBYOBReader.prototype, Symbol.toStringTag, {\n    value: 'ReadableStreamBYOBReader',\n    configurable: true\n  });\n}\n\n// Abstract operations for the readers.\n\nexport function IsReadableStreamBYOBReader(x: any): x is ReadableStreamBYOBReader {\n  if (!typeIsObject(x)) {\n    return false;\n  }\n\n  if (!Object.prototype.hasOwnProperty.call(x, '_readIntoRequests')) {\n    return false;\n  }\n\n  return x instanceof ReadableStreamBYOBReader;\n}\n\nexport function ReadableStreamBYOBReaderRead(\n  reader: ReadableStreamBYOBReader,\n  view: T,\n  readIntoRequest: ReadIntoRequest\n): void {\n  const stream = reader._ownerReadableStream;\n\n  assert(stream !== undefined);\n\n  stream._disturbed = true;\n\n  if (stream._state === 'errored') {\n    readIntoRequest._errorSteps(stream._storedError);\n  } else {\n    ReadableByteStreamControllerPullInto(\n      stream._readableStreamController as ReadableByteStreamController,\n      view,\n      readIntoRequest\n    );\n  }\n}\n\n// Helper functions for the ReadableStreamBYOBReader.\n\nfunction byobReaderBrandCheckException(name: string): TypeError {\n  return new TypeError(\n    `ReadableStreamBYOBReader.prototype.${name} can only be used on a ReadableStreamBYOBReader`);\n}\n","import { QueuingStrategy, QueuingStrategySizeCallback } from '../queuing-strategy';\nimport NumberIsNaN from '../../stub/number-isnan';\n\nexport function ExtractHighWaterMark(strategy: QueuingStrategy, defaultHWM: number): number {\n  const { highWaterMark } = strategy;\n\n  if (highWaterMark === undefined) {\n    return defaultHWM;\n  }\n\n  if (NumberIsNaN(highWaterMark) || highWaterMark < 0) {\n    throw new RangeError('Invalid highWaterMark');\n  }\n\n  return highWaterMark;\n}\n\nexport function ExtractSizeAlgorithm(strategy: QueuingStrategy): QueuingStrategySizeCallback {\n  const { size } = strategy;\n\n  if (!size) {\n    return () => 1;\n  }\n\n  return size;\n}\n","import { QueuingStrategy, QueuingStrategySizeCallback } from '../queuing-strategy';\nimport { assertDictionary, assertFunction, convertUnrestrictedDouble } from './basic';\n\nexport function convertQueuingStrategy(init: QueuingStrategy | null | undefined,\n                                          context: string): QueuingStrategy {\n  assertDictionary(init, context);\n  const highWaterMark = init?.highWaterMark;\n  const size = init?.size;\n  return {\n    highWaterMark: highWaterMark === undefined ? undefined : convertUnrestrictedDouble(highWaterMark),\n    size: size === undefined ? undefined : convertQueuingStrategySize(size, `${context} has member 'size' that`)\n  };\n}\n\nfunction convertQueuingStrategySize(fn: QueuingStrategySizeCallback,\n                                       context: string): QueuingStrategySizeCallback {\n  assertFunction(fn, context);\n  return chunk => convertUnrestrictedDouble(fn(chunk));\n}\n","import { assertDictionary, assertFunction } from './basic';\nimport { promiseCall, reflectCall } from '../helpers/webidl';\nimport {\n  UnderlyingSink,\n  UnderlyingSinkAbortCallback,\n  UnderlyingSinkCloseCallback,\n  UnderlyingSinkStartCallback,\n  UnderlyingSinkWriteCallback,\n  ValidatedUnderlyingSink\n} from '../writable-stream/underlying-sink';\nimport { WritableStreamDefaultController } from '../writable-stream';\n\nexport function convertUnderlyingSink(original: UnderlyingSink | null,\n                                         context: string): ValidatedUnderlyingSink {\n  assertDictionary(original, context);\n  const abort = original?.abort;\n  const close = original?.close;\n  const start = original?.start;\n  const type = original?.type;\n  const write = original?.write;\n  return {\n    abort: abort === undefined ?\n      undefined :\n      convertUnderlyingSinkAbortCallback(abort, original!, `${context} has member 'abort' that`),\n    close: close === undefined ?\n      undefined :\n      convertUnderlyingSinkCloseCallback(close, original!, `${context} has member 'close' that`),\n    start: start === undefined ?\n      undefined :\n      convertUnderlyingSinkStartCallback(start, original!, `${context} has member 'start' that`),\n    write: write === undefined ?\n      undefined :\n      convertUnderlyingSinkWriteCallback(write, original!, `${context} has member 'write' that`),\n    type\n  };\n}\n\nfunction convertUnderlyingSinkAbortCallback(\n  fn: UnderlyingSinkAbortCallback,\n  original: UnderlyingSink,\n  context: string\n): (reason: any) => Promise {\n  assertFunction(fn, context);\n  return (reason: any) => promiseCall(fn, original, [reason]);\n}\n\nfunction convertUnderlyingSinkCloseCallback(\n  fn: UnderlyingSinkCloseCallback,\n  original: UnderlyingSink,\n  context: string\n): () => Promise {\n  assertFunction(fn, context);\n  return () => promiseCall(fn, original, []);\n}\n\nfunction convertUnderlyingSinkStartCallback(\n  fn: UnderlyingSinkStartCallback,\n  original: UnderlyingSink,\n  context: string\n): UnderlyingSinkStartCallback {\n  assertFunction(fn, context);\n  return (controller: WritableStreamDefaultController) => reflectCall(fn, original, [controller]);\n}\n\nfunction convertUnderlyingSinkWriteCallback(\n  fn: UnderlyingSinkWriteCallback,\n  original: UnderlyingSink,\n  context: string\n): (chunk: W, controller: WritableStreamDefaultController) => Promise {\n  assertFunction(fn, context);\n  return (chunk: W, controller: WritableStreamDefaultController) => promiseCall(fn, original, [chunk, controller]);\n}\n","import { IsWritableStream, WritableStream } from '../writable-stream';\n\nexport function assertWritableStream(x: unknown, context: string): asserts x is WritableStream {\n  if (!IsWritableStream(x)) {\n    throw new TypeError(`${context} is not a WritableStream.`);\n  }\n}\n","/**\n * A signal object that allows you to communicate with a request and abort it if required\n * via its associated `AbortController` object.\n *\n * @remarks\n *   This interface is compatible with the `AbortSignal` interface defined in TypeScript's DOM types.\n *   It is redefined here, so it can be polyfilled without a DOM, for example with\n *   {@link https://www.npmjs.com/package/abortcontroller-polyfill | abortcontroller-polyfill} in a Node environment.\n *\n * @public\n */\nexport interface AbortSignal {\n  /**\n   * Whether the request is aborted.\n   */\n  readonly aborted: boolean;\n\n  /**\n   * Add an event listener to be triggered when this signal becomes aborted.\n   */\n  addEventListener(type: 'abort', listener: () => void): void;\n\n  /**\n   * Remove an event listener that was previously added with {@link AbortSignal.addEventListener}.\n   */\n  removeEventListener(type: 'abort', listener: () => void): void;\n}\n\nexport function isAbortSignal(value: unknown): value is AbortSignal {\n  if (typeof value !== 'object' || value === null) {\n    return false;\n  }\n  try {\n    return typeof (value as AbortSignal).aborted === 'boolean';\n  } catch {\n    // AbortSignal.prototype.aborted throws if its brand check fails\n    return false;\n  }\n}\n\n/**\n * A controller object that allows you to abort an `AbortSignal` when desired.\n *\n * @remarks\n *   This interface is compatible with the `AbortController` interface defined in TypeScript's DOM types.\n *   It is redefined here, so it can be polyfilled without a DOM, for example with\n *   {@link https://www.npmjs.com/package/abortcontroller-polyfill | abortcontroller-polyfill} in a Node environment.\n *\n * @internal\n */\nexport interface AbortController {\n  readonly signal: AbortSignal;\n\n  abort(): void;\n}\n\ninterface AbortControllerConstructor {\n  new(): AbortController;\n}\n\nconst supportsAbortController = typeof (AbortController as any) === 'function';\n\n/**\n * Construct a new AbortController, if supported by the platform.\n *\n * @internal\n */\nexport function createAbortController(): AbortController | undefined {\n  if (supportsAbortController) {\n    return new (AbortController as AbortControllerConstructor)();\n  }\n  return undefined;\n}\n","import assert from '../stub/assert';\nimport {\n  newPromise,\n  promiseRejectedWith,\n  promiseResolvedWith,\n  setPromiseIsHandledToTrue,\n  uponPromise\n} from './helpers/webidl';\nimport {\n  DequeueValue,\n  EnqueueValueWithSize,\n  PeekQueueValue,\n  QueuePair,\n  ResetQueue\n} from './abstract-ops/queue-with-sizes';\nimport { QueuingStrategy, QueuingStrategySizeCallback } from './queuing-strategy';\nimport { SimpleQueue } from './simple-queue';\nimport { typeIsObject } from './helpers/miscellaneous';\nimport { AbortSteps, ErrorSteps } from './abstract-ops/internal-methods';\nimport { IsNonNegativeNumber } from './abstract-ops/miscellaneous';\nimport { ExtractHighWaterMark, ExtractSizeAlgorithm } from './abstract-ops/queuing-strategy';\nimport { convertQueuingStrategy } from './validators/queuing-strategy';\nimport {\n  UnderlyingSink,\n  UnderlyingSinkAbortCallback,\n  UnderlyingSinkCloseCallback,\n  UnderlyingSinkStartCallback,\n  UnderlyingSinkWriteCallback,\n  ValidatedUnderlyingSink\n} from './writable-stream/underlying-sink';\nimport { assertObject, assertRequiredArgument } from './validators/basic';\nimport { convertUnderlyingSink } from './validators/underlying-sink';\nimport { assertWritableStream } from './validators/writable-stream';\nimport { AbortController, AbortSignal, createAbortController } from './abort-signal';\n\ntype WritableStreamState = 'writable' | 'closed' | 'erroring' | 'errored';\n\ninterface WriteOrCloseRequest {\n  _resolve: (value?: undefined) => void;\n  _reject: (reason: any) => void;\n}\n\ntype WriteRequest = WriteOrCloseRequest;\ntype CloseRequest = WriteOrCloseRequest;\n\ninterface PendingAbortRequest {\n  _promise: Promise;\n  _resolve: (value?: undefined) => void;\n  _reject: (reason: any) => void;\n  _reason: any;\n  _wasAlreadyErroring: boolean;\n}\n\n/**\n * A writable stream represents a destination for data, into which you can write.\n *\n * @public\n */\nclass WritableStream {\n  /** @internal */\n  _state!: WritableStreamState;\n  /** @internal */\n  _storedError: any;\n  /** @internal */\n  _writer: WritableStreamDefaultWriter | undefined;\n  /** @internal */\n  _writableStreamController!: WritableStreamDefaultController;\n  /** @internal */\n  _writeRequests!: SimpleQueue;\n  /** @internal */\n  _inFlightWriteRequest: WriteRequest | undefined;\n  /** @internal */\n  _closeRequest: CloseRequest | undefined;\n  /** @internal */\n  _inFlightCloseRequest: CloseRequest | undefined;\n  /** @internal */\n  _pendingAbortRequest: PendingAbortRequest | undefined;\n  /** @internal */\n  _backpressure!: boolean;\n\n  constructor(underlyingSink?: UnderlyingSink, strategy?: QueuingStrategy);\n  constructor(rawUnderlyingSink: UnderlyingSink | null | undefined = {},\n              rawStrategy: QueuingStrategy | null | undefined = {}) {\n    if (rawUnderlyingSink === undefined) {\n      rawUnderlyingSink = null;\n    } else {\n      assertObject(rawUnderlyingSink, 'First parameter');\n    }\n\n    const strategy = convertQueuingStrategy(rawStrategy, 'Second parameter');\n    const underlyingSink = convertUnderlyingSink(rawUnderlyingSink, 'First parameter');\n\n    InitializeWritableStream(this);\n\n    const type = underlyingSink.type;\n    if (type !== undefined) {\n      throw new RangeError('Invalid type is specified');\n    }\n\n    const sizeAlgorithm = ExtractSizeAlgorithm(strategy);\n    const highWaterMark = ExtractHighWaterMark(strategy, 1);\n\n    SetUpWritableStreamDefaultControllerFromUnderlyingSink(this, underlyingSink, highWaterMark, sizeAlgorithm);\n  }\n\n  /**\n   * Returns whether or not the writable stream is locked to a writer.\n   */\n  get locked(): boolean {\n    if (!IsWritableStream(this)) {\n      throw streamBrandCheckException('locked');\n    }\n\n    return IsWritableStreamLocked(this);\n  }\n\n  /**\n   * Aborts the stream, signaling that the producer can no longer successfully write to the stream and it is to be\n   * immediately moved to an errored state, with any queued-up writes discarded. This will also execute any abort\n   * mechanism of the underlying sink.\n   *\n   * The returned promise will fulfill if the stream shuts down successfully, or reject if the underlying sink signaled\n   * that there was an error doing so. Additionally, it will reject with a `TypeError` (without attempting to cancel\n   * the stream) if the stream is currently locked.\n   */\n  abort(reason: any = undefined): Promise {\n    if (!IsWritableStream(this)) {\n      return promiseRejectedWith(streamBrandCheckException('abort'));\n    }\n\n    if (IsWritableStreamLocked(this)) {\n      return promiseRejectedWith(new TypeError('Cannot abort a stream that already has a writer'));\n    }\n\n    return WritableStreamAbort(this, reason);\n  }\n\n  /**\n   * Closes the stream. The underlying sink will finish processing any previously-written chunks, before invoking its\n   * close behavior. During this time any further attempts to write will fail (without erroring the stream).\n   *\n   * The method returns a promise that will fulfill if all remaining chunks are successfully written and the stream\n   * successfully closes, or rejects if an error is encountered during this process. Additionally, it will reject with\n   * a `TypeError` (without attempting to cancel the stream) if the stream is currently locked.\n   */\n  close() {\n    if (!IsWritableStream(this)) {\n      return promiseRejectedWith(streamBrandCheckException('close'));\n    }\n\n    if (IsWritableStreamLocked(this)) {\n      return promiseRejectedWith(new TypeError('Cannot close a stream that already has a writer'));\n    }\n\n    if (WritableStreamCloseQueuedOrInFlight(this)) {\n      return promiseRejectedWith(new TypeError('Cannot close an already-closing stream'));\n    }\n\n    return WritableStreamClose(this);\n  }\n\n  /**\n   * Creates a {@link WritableStreamDefaultWriter | writer} and locks the stream to the new writer. While the stream\n   * is locked, no other writer can be acquired until this one is released.\n   *\n   * This functionality is especially useful for creating abstractions that desire the ability to write to a stream\n   * without interruption or interleaving. By getting a writer for the stream, you can ensure nobody else can write at\n   * the same time, which would cause the resulting written data to be unpredictable and probably useless.\n   */\n  getWriter(): WritableStreamDefaultWriter {\n    if (!IsWritableStream(this)) {\n      throw streamBrandCheckException('getWriter');\n    }\n\n    return AcquireWritableStreamDefaultWriter(this);\n  }\n}\n\nObject.defineProperties(WritableStream.prototype, {\n  abort: { enumerable: true },\n  close: { enumerable: true },\n  getWriter: { enumerable: true },\n  locked: { enumerable: true }\n});\nif (typeof Symbol.toStringTag === 'symbol') {\n  Object.defineProperty(WritableStream.prototype, Symbol.toStringTag, {\n    value: 'WritableStream',\n    configurable: true\n  });\n}\n\nexport {\n  AcquireWritableStreamDefaultWriter,\n  CreateWritableStream,\n  IsWritableStream,\n  IsWritableStreamLocked,\n  WritableStream,\n  WritableStreamAbort,\n  WritableStreamDefaultControllerErrorIfNeeded,\n  WritableStreamDefaultWriterCloseWithErrorPropagation,\n  WritableStreamDefaultWriterRelease,\n  WritableStreamDefaultWriterWrite,\n  WritableStreamCloseQueuedOrInFlight,\n  UnderlyingSink,\n  UnderlyingSinkStartCallback,\n  UnderlyingSinkWriteCallback,\n  UnderlyingSinkCloseCallback,\n  UnderlyingSinkAbortCallback\n};\n\n// Abstract operations for the WritableStream.\n\nfunction AcquireWritableStreamDefaultWriter(stream: WritableStream): WritableStreamDefaultWriter {\n  return new WritableStreamDefaultWriter(stream);\n}\n\n// Throws if and only if startAlgorithm throws.\nfunction CreateWritableStream(startAlgorithm: () => void | PromiseLike,\n                                 writeAlgorithm: (chunk: W) => Promise,\n                                 closeAlgorithm: () => Promise,\n                                 abortAlgorithm: (reason: any) => Promise,\n                                 highWaterMark = 1,\n                                 sizeAlgorithm: QueuingStrategySizeCallback = () => 1) {\n  assert(IsNonNegativeNumber(highWaterMark));\n\n  const stream: WritableStream = Object.create(WritableStream.prototype);\n  InitializeWritableStream(stream);\n\n  const controller: WritableStreamDefaultController = Object.create(WritableStreamDefaultController.prototype);\n\n  SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm,\n                                       abortAlgorithm, highWaterMark, sizeAlgorithm);\n  return stream;\n}\n\nfunction InitializeWritableStream(stream: WritableStream) {\n  stream._state = 'writable';\n\n  // The error that will be reported by new method calls once the state becomes errored. Only set when [[state]] is\n  // 'erroring' or 'errored'. May be set to an undefined value.\n  stream._storedError = undefined;\n\n  stream._writer = undefined;\n\n  // Initialize to undefined first because the constructor of the controller checks this\n  // variable to validate the caller.\n  stream._writableStreamController = undefined!;\n\n  // This queue is placed here instead of the writer class in order to allow for passing a writer to the next data\n  // producer without waiting for the queued writes to finish.\n  stream._writeRequests = new SimpleQueue();\n\n  // Write requests are removed from _writeRequests when write() is called on the underlying sink. This prevents\n  // them from being erroneously rejected on error. If a write() call is in-flight, the request is stored here.\n  stream._inFlightWriteRequest = undefined;\n\n  // The promise that was returned from writer.close(). Stored here because it may be fulfilled after the writer\n  // has been detached.\n  stream._closeRequest = undefined;\n\n  // Close request is removed from _closeRequest when close() is called on the underlying sink. This prevents it\n  // from being erroneously rejected on error. If a close() call is in-flight, the request is stored here.\n  stream._inFlightCloseRequest = undefined;\n\n  // The promise that was returned from writer.abort(). This may also be fulfilled after the writer has detached.\n  stream._pendingAbortRequest = undefined;\n\n  // The backpressure signal set by the controller.\n  stream._backpressure = false;\n}\n\nfunction IsWritableStream(x: unknown): x is WritableStream {\n  if (!typeIsObject(x)) {\n    return false;\n  }\n\n  if (!Object.prototype.hasOwnProperty.call(x, '_writableStreamController')) {\n    return false;\n  }\n\n  return x instanceof WritableStream;\n}\n\nfunction IsWritableStreamLocked(stream: WritableStream): boolean {\n  assert(IsWritableStream(stream));\n\n  if (stream._writer === undefined) {\n    return false;\n  }\n\n  return true;\n}\n\nfunction WritableStreamAbort(stream: WritableStream, reason: any): Promise {\n  if (stream._state === 'closed' || stream._state === 'errored') {\n    return promiseResolvedWith(undefined);\n  }\n  stream._writableStreamController._abortReason = reason;\n  stream._writableStreamController._abortController?.abort();\n\n  // TypeScript narrows the type of `stream._state` down to 'writable' | 'erroring',\n  // but it doesn't know that signaling abort runs author code that might have changed the state.\n  // Widen the type again by casting to WritableStreamState.\n  const state = stream._state as WritableStreamState;\n\n  if (state === 'closed' || state === 'errored') {\n    return promiseResolvedWith(undefined);\n  }\n  if (stream._pendingAbortRequest !== undefined) {\n    return stream._pendingAbortRequest._promise;\n  }\n\n  assert(state === 'writable' || state === 'erroring');\n\n  let wasAlreadyErroring = false;\n  if (state === 'erroring') {\n    wasAlreadyErroring = true;\n    // reason will not be used, so don't keep a reference to it.\n    reason = undefined;\n  }\n\n  const promise = newPromise((resolve, reject) => {\n    stream._pendingAbortRequest = {\n      _promise: undefined!,\n      _resolve: resolve,\n      _reject: reject,\n      _reason: reason,\n      _wasAlreadyErroring: wasAlreadyErroring\n    };\n  });\n  stream._pendingAbortRequest!._promise = promise;\n\n  if (!wasAlreadyErroring) {\n    WritableStreamStartErroring(stream, reason);\n  }\n\n  return promise;\n}\n\nfunction WritableStreamClose(stream: WritableStream): Promise {\n  const state = stream._state;\n  if (state === 'closed' || state === 'errored') {\n    return promiseRejectedWith(new TypeError(\n      `The stream (in ${state} state) is not in the writable state and cannot be closed`));\n  }\n\n  assert(state === 'writable' || state === 'erroring');\n  assert(!WritableStreamCloseQueuedOrInFlight(stream));\n\n  const promise = newPromise((resolve, reject) => {\n    const closeRequest: CloseRequest = {\n      _resolve: resolve,\n      _reject: reject\n    };\n\n    stream._closeRequest = closeRequest;\n  });\n\n  const writer = stream._writer;\n  if (writer !== undefined && stream._backpressure && state === 'writable') {\n    defaultWriterReadyPromiseResolve(writer);\n  }\n\n  WritableStreamDefaultControllerClose(stream._writableStreamController);\n\n  return promise;\n}\n\n// WritableStream API exposed for controllers.\n\nfunction WritableStreamAddWriteRequest(stream: WritableStream): Promise {\n  assert(IsWritableStreamLocked(stream));\n  assert(stream._state === 'writable');\n\n  const promise = newPromise((resolve, reject) => {\n    const writeRequest: WriteRequest = {\n      _resolve: resolve,\n      _reject: reject\n    };\n\n    stream._writeRequests.push(writeRequest);\n  });\n\n  return promise;\n}\n\nfunction WritableStreamDealWithRejection(stream: WritableStream, error: any) {\n  const state = stream._state;\n\n  if (state === 'writable') {\n    WritableStreamStartErroring(stream, error);\n    return;\n  }\n\n  assert(state === 'erroring');\n  WritableStreamFinishErroring(stream);\n}\n\nfunction WritableStreamStartErroring(stream: WritableStream, reason: any) {\n  assert(stream._storedError === undefined);\n  assert(stream._state === 'writable');\n\n  const controller = stream._writableStreamController;\n  assert(controller !== undefined);\n\n  stream._state = 'erroring';\n  stream._storedError = reason;\n  const writer = stream._writer;\n  if (writer !== undefined) {\n    WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, reason);\n  }\n\n  if (!WritableStreamHasOperationMarkedInFlight(stream) && controller._started) {\n    WritableStreamFinishErroring(stream);\n  }\n}\n\nfunction WritableStreamFinishErroring(stream: WritableStream) {\n  assert(stream._state === 'erroring');\n  assert(!WritableStreamHasOperationMarkedInFlight(stream));\n  stream._state = 'errored';\n  stream._writableStreamController[ErrorSteps]();\n\n  const storedError = stream._storedError;\n  stream._writeRequests.forEach(writeRequest => {\n    writeRequest._reject(storedError);\n  });\n  stream._writeRequests = new SimpleQueue();\n\n  if (stream._pendingAbortRequest === undefined) {\n    WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n    return;\n  }\n\n  const abortRequest = stream._pendingAbortRequest;\n  stream._pendingAbortRequest = undefined;\n\n  if (abortRequest._wasAlreadyErroring) {\n    abortRequest._reject(storedError);\n    WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n    return;\n  }\n\n  const promise = stream._writableStreamController[AbortSteps](abortRequest._reason);\n  uponPromise(\n    promise,\n    () => {\n      abortRequest._resolve();\n      WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n    },\n    (reason: any) => {\n      abortRequest._reject(reason);\n      WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n    });\n}\n\nfunction WritableStreamFinishInFlightWrite(stream: WritableStream) {\n  assert(stream._inFlightWriteRequest !== undefined);\n  stream._inFlightWriteRequest!._resolve(undefined);\n  stream._inFlightWriteRequest = undefined;\n}\n\nfunction WritableStreamFinishInFlightWriteWithError(stream: WritableStream, error: any) {\n  assert(stream._inFlightWriteRequest !== undefined);\n  stream._inFlightWriteRequest!._reject(error);\n  stream._inFlightWriteRequest = undefined;\n\n  assert(stream._state === 'writable' || stream._state === 'erroring');\n\n  WritableStreamDealWithRejection(stream, error);\n}\n\nfunction WritableStreamFinishInFlightClose(stream: WritableStream) {\n  assert(stream._inFlightCloseRequest !== undefined);\n  stream._inFlightCloseRequest!._resolve(undefined);\n  stream._inFlightCloseRequest = undefined;\n\n  const state = stream._state;\n\n  assert(state === 'writable' || state === 'erroring');\n\n  if (state === 'erroring') {\n    // The error was too late to do anything, so it is ignored.\n    stream._storedError = undefined;\n    if (stream._pendingAbortRequest !== undefined) {\n      stream._pendingAbortRequest._resolve();\n      stream._pendingAbortRequest = undefined;\n    }\n  }\n\n  stream._state = 'closed';\n\n  const writer = stream._writer;\n  if (writer !== undefined) {\n    defaultWriterClosedPromiseResolve(writer);\n  }\n\n  assert(stream._pendingAbortRequest === undefined);\n  assert(stream._storedError === undefined);\n}\n\nfunction WritableStreamFinishInFlightCloseWithError(stream: WritableStream, error: any) {\n  assert(stream._inFlightCloseRequest !== undefined);\n  stream._inFlightCloseRequest!._reject(error);\n  stream._inFlightCloseRequest = undefined;\n\n  assert(stream._state === 'writable' || stream._state === 'erroring');\n\n  // Never execute sink abort() after sink close().\n  if (stream._pendingAbortRequest !== undefined) {\n    stream._pendingAbortRequest._reject(error);\n    stream._pendingAbortRequest = undefined;\n  }\n  WritableStreamDealWithRejection(stream, error);\n}\n\n// TODO(ricea): Fix alphabetical order.\nfunction WritableStreamCloseQueuedOrInFlight(stream: WritableStream): boolean {\n  if (stream._closeRequest === undefined && stream._inFlightCloseRequest === undefined) {\n    return false;\n  }\n\n  return true;\n}\n\nfunction WritableStreamHasOperationMarkedInFlight(stream: WritableStream): boolean {\n  if (stream._inFlightWriteRequest === undefined && stream._inFlightCloseRequest === undefined) {\n    return false;\n  }\n\n  return true;\n}\n\nfunction WritableStreamMarkCloseRequestInFlight(stream: WritableStream) {\n  assert(stream._inFlightCloseRequest === undefined);\n  assert(stream._closeRequest !== undefined);\n  stream._inFlightCloseRequest = stream._closeRequest;\n  stream._closeRequest = undefined;\n}\n\nfunction WritableStreamMarkFirstWriteRequestInFlight(stream: WritableStream) {\n  assert(stream._inFlightWriteRequest === undefined);\n  assert(stream._writeRequests.length !== 0);\n  stream._inFlightWriteRequest = stream._writeRequests.shift();\n}\n\nfunction WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream: WritableStream) {\n  assert(stream._state === 'errored');\n  if (stream._closeRequest !== undefined) {\n    assert(stream._inFlightCloseRequest === undefined);\n\n    stream._closeRequest._reject(stream._storedError);\n    stream._closeRequest = undefined;\n  }\n  const writer = stream._writer;\n  if (writer !== undefined) {\n    defaultWriterClosedPromiseReject(writer, stream._storedError);\n  }\n}\n\nfunction WritableStreamUpdateBackpressure(stream: WritableStream, backpressure: boolean) {\n  assert(stream._state === 'writable');\n  assert(!WritableStreamCloseQueuedOrInFlight(stream));\n\n  const writer = stream._writer;\n  if (writer !== undefined && backpressure !== stream._backpressure) {\n    if (backpressure) {\n      defaultWriterReadyPromiseReset(writer);\n    } else {\n      assert(!backpressure);\n\n      defaultWriterReadyPromiseResolve(writer);\n    }\n  }\n\n  stream._backpressure = backpressure;\n}\n\n/**\n * A default writer vended by a {@link WritableStream}.\n *\n * @public\n */\nexport class WritableStreamDefaultWriter {\n  /** @internal */\n  _ownerWritableStream: WritableStream;\n  /** @internal */\n  _closedPromise!: Promise;\n  /** @internal */\n  _closedPromise_resolve?: (value?: undefined) => void;\n  /** @internal */\n  _closedPromise_reject?: (reason: any) => void;\n  /** @internal */\n  _closedPromiseState!: 'pending' | 'resolved' | 'rejected';\n  /** @internal */\n  _readyPromise!: Promise;\n  /** @internal */\n  _readyPromise_resolve?: (value?: undefined) => void;\n  /** @internal */\n  _readyPromise_reject?: (reason: any) => void;\n  /** @internal */\n  _readyPromiseState!: 'pending' | 'fulfilled' | 'rejected';\n\n  constructor(stream: WritableStream) {\n    assertRequiredArgument(stream, 1, 'WritableStreamDefaultWriter');\n    assertWritableStream(stream, 'First parameter');\n\n    if (IsWritableStreamLocked(stream)) {\n      throw new TypeError('This stream has already been locked for exclusive writing by another writer');\n    }\n\n    this._ownerWritableStream = stream;\n    stream._writer = this;\n\n    const state = stream._state;\n\n    if (state === 'writable') {\n      if (!WritableStreamCloseQueuedOrInFlight(stream) && stream._backpressure) {\n        defaultWriterReadyPromiseInitialize(this);\n      } else {\n        defaultWriterReadyPromiseInitializeAsResolved(this);\n      }\n\n      defaultWriterClosedPromiseInitialize(this);\n    } else if (state === 'erroring') {\n      defaultWriterReadyPromiseInitializeAsRejected(this, stream._storedError);\n      defaultWriterClosedPromiseInitialize(this);\n    } else if (state === 'closed') {\n      defaultWriterReadyPromiseInitializeAsResolved(this);\n      defaultWriterClosedPromiseInitializeAsResolved(this);\n    } else {\n      assert(state === 'errored');\n\n      const storedError = stream._storedError;\n      defaultWriterReadyPromiseInitializeAsRejected(this, storedError);\n      defaultWriterClosedPromiseInitializeAsRejected(this, storedError);\n    }\n  }\n\n  /**\n   * Returns a promise that will be fulfilled when the stream becomes closed, or rejected if the stream ever errors or\n   * the writer’s lock is released before the stream finishes closing.\n   */\n  get closed(): Promise {\n    if (!IsWritableStreamDefaultWriter(this)) {\n      return promiseRejectedWith(defaultWriterBrandCheckException('closed'));\n    }\n\n    return this._closedPromise;\n  }\n\n  /**\n   * Returns the desired size to fill the stream’s internal queue. It can be negative, if the queue is over-full.\n   * A producer can use this information to determine the right amount of data to write.\n   *\n   * It will be `null` if the stream cannot be successfully written to (due to either being errored, or having an abort\n   * queued up). It will return zero if the stream is closed. And the getter will throw an exception if invoked when\n   * the writer’s lock is released.\n   */\n  get desiredSize(): number | null {\n    if (!IsWritableStreamDefaultWriter(this)) {\n      throw defaultWriterBrandCheckException('desiredSize');\n    }\n\n    if (this._ownerWritableStream === undefined) {\n      throw defaultWriterLockException('desiredSize');\n    }\n\n    return WritableStreamDefaultWriterGetDesiredSize(this);\n  }\n\n  /**\n   * Returns a promise that will be fulfilled when the desired size to fill the stream’s internal queue transitions\n   * from non-positive to positive, signaling that it is no longer applying backpressure. Once the desired size dips\n   * back to zero or below, the getter will return a new promise that stays pending until the next transition.\n   *\n   * If the stream becomes errored or aborted, or the writer’s lock is released, the returned promise will become\n   * rejected.\n   */\n  get ready(): Promise {\n    if (!IsWritableStreamDefaultWriter(this)) {\n      return promiseRejectedWith(defaultWriterBrandCheckException('ready'));\n    }\n\n    return this._readyPromise;\n  }\n\n  /**\n   * If the reader is active, behaves the same as {@link WritableStream.abort | stream.abort(reason)}.\n   */\n  abort(reason: any = undefined): Promise {\n    if (!IsWritableStreamDefaultWriter(this)) {\n      return promiseRejectedWith(defaultWriterBrandCheckException('abort'));\n    }\n\n    if (this._ownerWritableStream === undefined) {\n      return promiseRejectedWith(defaultWriterLockException('abort'));\n    }\n\n    return WritableStreamDefaultWriterAbort(this, reason);\n  }\n\n  /**\n   * If the reader is active, behaves the same as {@link WritableStream.close | stream.close()}.\n   */\n  close(): Promise {\n    if (!IsWritableStreamDefaultWriter(this)) {\n      return promiseRejectedWith(defaultWriterBrandCheckException('close'));\n    }\n\n    const stream = this._ownerWritableStream;\n\n    if (stream === undefined) {\n      return promiseRejectedWith(defaultWriterLockException('close'));\n    }\n\n    if (WritableStreamCloseQueuedOrInFlight(stream)) {\n      return promiseRejectedWith(new TypeError('Cannot close an already-closing stream'));\n    }\n\n    return WritableStreamDefaultWriterClose(this);\n  }\n\n  /**\n   * Releases the writer’s lock on the corresponding stream. After the lock is released, the writer is no longer active.\n   * If the associated stream is errored when the lock is released, the writer will appear errored in the same way from\n   * now on; otherwise, the writer will appear closed.\n   *\n   * Note that the lock can still be released even if some ongoing writes have not yet finished (i.e. even if the\n   * promises returned from previous calls to {@link WritableStreamDefaultWriter.write | write()} have not yet settled).\n   * It’s not necessary to hold the lock on the writer for the duration of the write; the lock instead simply prevents\n   * other producers from writing in an interleaved manner.\n   */\n  releaseLock(): void {\n    if (!IsWritableStreamDefaultWriter(this)) {\n      throw defaultWriterBrandCheckException('releaseLock');\n    }\n\n    const stream = this._ownerWritableStream;\n\n    if (stream === undefined) {\n      return;\n    }\n\n    assert(stream._writer !== undefined);\n\n    WritableStreamDefaultWriterRelease(this);\n  }\n\n  /**\n   * Writes the given chunk to the writable stream, by waiting until any previous writes have finished successfully,\n   * and then sending the chunk to the underlying sink's {@link UnderlyingSink.write | write()} method. It will return\n   * a promise that fulfills with undefined upon a successful write, or rejects if the write fails or stream becomes\n   * errored before the writing process is initiated.\n   *\n   * Note that what \"success\" means is up to the underlying sink; it might indicate simply that the chunk has been\n   * accepted, and not necessarily that it is safely saved to its ultimate destination.\n   */\n  write(chunk: W): Promise;\n  write(chunk: W = undefined!): Promise {\n    if (!IsWritableStreamDefaultWriter(this)) {\n      return promiseRejectedWith(defaultWriterBrandCheckException('write'));\n    }\n\n    if (this._ownerWritableStream === undefined) {\n      return promiseRejectedWith(defaultWriterLockException('write to'));\n    }\n\n    return WritableStreamDefaultWriterWrite(this, chunk);\n  }\n}\n\nObject.defineProperties(WritableStreamDefaultWriter.prototype, {\n  abort: { enumerable: true },\n  close: { enumerable: true },\n  releaseLock: { enumerable: true },\n  write: { enumerable: true },\n  closed: { enumerable: true },\n  desiredSize: { enumerable: true },\n  ready: { enumerable: true }\n});\nif (typeof Symbol.toStringTag === 'symbol') {\n  Object.defineProperty(WritableStreamDefaultWriter.prototype, Symbol.toStringTag, {\n    value: 'WritableStreamDefaultWriter',\n    configurable: true\n  });\n}\n\n// Abstract operations for the WritableStreamDefaultWriter.\n\nfunction IsWritableStreamDefaultWriter(x: any): x is WritableStreamDefaultWriter {\n  if (!typeIsObject(x)) {\n    return false;\n  }\n\n  if (!Object.prototype.hasOwnProperty.call(x, '_ownerWritableStream')) {\n    return false;\n  }\n\n  return x instanceof WritableStreamDefaultWriter;\n}\n\n// A client of WritableStreamDefaultWriter may use these functions directly to bypass state check.\n\nfunction WritableStreamDefaultWriterAbort(writer: WritableStreamDefaultWriter, reason: any) {\n  const stream = writer._ownerWritableStream;\n\n  assert(stream !== undefined);\n\n  return WritableStreamAbort(stream, reason);\n}\n\nfunction WritableStreamDefaultWriterClose(writer: WritableStreamDefaultWriter): Promise {\n  const stream = writer._ownerWritableStream;\n\n  assert(stream !== undefined);\n\n  return WritableStreamClose(stream);\n}\n\nfunction WritableStreamDefaultWriterCloseWithErrorPropagation(writer: WritableStreamDefaultWriter): Promise {\n  const stream = writer._ownerWritableStream;\n\n  assert(stream !== undefined);\n\n  const state = stream._state;\n  if (WritableStreamCloseQueuedOrInFlight(stream) || state === 'closed') {\n    return promiseResolvedWith(undefined);\n  }\n\n  if (state === 'errored') {\n    return promiseRejectedWith(stream._storedError);\n  }\n\n  assert(state === 'writable' || state === 'erroring');\n\n  return WritableStreamDefaultWriterClose(writer);\n}\n\nfunction WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer: WritableStreamDefaultWriter, error: any) {\n  if (writer._closedPromiseState === 'pending') {\n    defaultWriterClosedPromiseReject(writer, error);\n  } else {\n    defaultWriterClosedPromiseResetToRejected(writer, error);\n  }\n}\n\nfunction WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer: WritableStreamDefaultWriter, error: any) {\n  if (writer._readyPromiseState === 'pending') {\n    defaultWriterReadyPromiseReject(writer, error);\n  } else {\n    defaultWriterReadyPromiseResetToRejected(writer, error);\n  }\n}\n\nfunction WritableStreamDefaultWriterGetDesiredSize(writer: WritableStreamDefaultWriter): number | null {\n  const stream = writer._ownerWritableStream;\n  const state = stream._state;\n\n  if (state === 'errored' || state === 'erroring') {\n    return null;\n  }\n\n  if (state === 'closed') {\n    return 0;\n  }\n\n  return WritableStreamDefaultControllerGetDesiredSize(stream._writableStreamController);\n}\n\nfunction WritableStreamDefaultWriterRelease(writer: WritableStreamDefaultWriter) {\n  const stream = writer._ownerWritableStream;\n  assert(stream !== undefined);\n  assert(stream._writer === writer);\n\n  const releasedError = new TypeError(\n    `Writer was released and can no longer be used to monitor the stream's closedness`);\n\n  WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, releasedError);\n\n  // The state transitions to \"errored\" before the sink abort() method runs, but the writer.closed promise is not\n  // rejected until afterwards. This means that simply testing state will not work.\n  WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, releasedError);\n\n  stream._writer = undefined;\n  writer._ownerWritableStream = undefined!;\n}\n\nfunction WritableStreamDefaultWriterWrite(writer: WritableStreamDefaultWriter, chunk: W): Promise {\n  const stream = writer._ownerWritableStream;\n\n  assert(stream !== undefined);\n\n  const controller = stream._writableStreamController;\n\n  const chunkSize = WritableStreamDefaultControllerGetChunkSize(controller, chunk);\n\n  if (stream !== writer._ownerWritableStream) {\n    return promiseRejectedWith(defaultWriterLockException('write to'));\n  }\n\n  const state = stream._state;\n  if (state === 'errored') {\n    return promiseRejectedWith(stream._storedError);\n  }\n  if (WritableStreamCloseQueuedOrInFlight(stream) || state === 'closed') {\n    return promiseRejectedWith(new TypeError('The stream is closing or closed and cannot be written to'));\n  }\n  if (state === 'erroring') {\n    return promiseRejectedWith(stream._storedError);\n  }\n\n  assert(state === 'writable');\n\n  const promise = WritableStreamAddWriteRequest(stream);\n\n  WritableStreamDefaultControllerWrite(controller, chunk, chunkSize);\n\n  return promise;\n}\n\nconst closeSentinel: unique symbol = {} as any;\n\ntype QueueRecord = W | typeof closeSentinel;\n\n/**\n * Allows control of a {@link WritableStream | writable stream}'s state and internal queue.\n *\n * @public\n */\nexport class WritableStreamDefaultController {\n  /** @internal */\n  _controlledWritableStream!: WritableStream;\n  /** @internal */\n  _queue!: SimpleQueue>>;\n  /** @internal */\n  _queueTotalSize!: number;\n  /** @internal */\n  _abortReason: any;\n  /** @internal */\n  _abortController: AbortController | undefined;\n  /** @internal */\n  _started!: boolean;\n  /** @internal */\n  _strategySizeAlgorithm!: QueuingStrategySizeCallback;\n  /** @internal */\n  _strategyHWM!: number;\n  /** @internal */\n  _writeAlgorithm!: (chunk: W) => Promise;\n  /** @internal */\n  _closeAlgorithm!: () => Promise;\n  /** @internal */\n  _abortAlgorithm!: (reason: any) => Promise;\n\n  private constructor() {\n    throw new TypeError('Illegal constructor');\n  }\n\n  /**\n   * The reason which was passed to `WritableStream.abort(reason)` when the stream was aborted.\n   *\n   * @deprecated\n   *  This property has been removed from the specification, see https://github.com/whatwg/streams/pull/1177.\n   *  Use {@link WritableStreamDefaultController.signal}'s `reason` instead.\n   */\n  get abortReason(): any {\n    if (!IsWritableStreamDefaultController(this)) {\n      throw defaultControllerBrandCheckException('abortReason');\n    }\n    return this._abortReason;\n  }\n\n  /**\n   * An `AbortSignal` that can be used to abort the pending write or close operation when the stream is aborted.\n   */\n  get signal(): AbortSignal {\n    if (!IsWritableStreamDefaultController(this)) {\n      throw defaultControllerBrandCheckException('signal');\n    }\n    if (this._abortController === undefined) {\n      // Older browsers or older Node versions may not support `AbortController` or `AbortSignal`.\n      // We don't want to bundle and ship an `AbortController` polyfill together with our polyfill,\n      // so instead we only implement support for `signal` if we find a global `AbortController` constructor.\n      throw new TypeError('WritableStreamDefaultController.prototype.signal is not supported');\n    }\n    return this._abortController.signal;\n  }\n\n  /**\n   * Closes the controlled writable stream, making all future interactions with it fail with the given error `e`.\n   *\n   * This method is rarely used, since usually it suffices to return a rejected promise from one of the underlying\n   * sink's methods. However, it can be useful for suddenly shutting down a stream in response to an event outside the\n   * normal lifecycle of interactions with the underlying sink.\n   */\n  error(e: any = undefined): void {\n    if (!IsWritableStreamDefaultController(this)) {\n      throw defaultControllerBrandCheckException('error');\n    }\n    const state = this._controlledWritableStream._state;\n    if (state !== 'writable') {\n      // The stream is closed, errored or will be soon. The sink can't do anything useful if it gets an error here, so\n      // just treat it as a no-op.\n      return;\n    }\n\n    WritableStreamDefaultControllerError(this, e);\n  }\n\n  /** @internal */\n  [AbortSteps](reason: any): Promise {\n    const result = this._abortAlgorithm(reason);\n    WritableStreamDefaultControllerClearAlgorithms(this);\n    return result;\n  }\n\n  /** @internal */\n  [ErrorSteps]() {\n    ResetQueue(this);\n  }\n}\n\nObject.defineProperties(WritableStreamDefaultController.prototype, {\n  abortReason: { enumerable: true },\n  signal: { enumerable: true },\n  error: { enumerable: true }\n});\nif (typeof Symbol.toStringTag === 'symbol') {\n  Object.defineProperty(WritableStreamDefaultController.prototype, Symbol.toStringTag, {\n    value: 'WritableStreamDefaultController',\n    configurable: true\n  });\n}\n\n// Abstract operations implementing interface required by the WritableStream.\n\nfunction IsWritableStreamDefaultController(x: any): x is WritableStreamDefaultController {\n  if (!typeIsObject(x)) {\n    return false;\n  }\n\n  if (!Object.prototype.hasOwnProperty.call(x, '_controlledWritableStream')) {\n    return false;\n  }\n\n  return x instanceof WritableStreamDefaultController;\n}\n\nfunction SetUpWritableStreamDefaultController(stream: WritableStream,\n                                                 controller: WritableStreamDefaultController,\n                                                 startAlgorithm: () => void | PromiseLike,\n                                                 writeAlgorithm: (chunk: W) => Promise,\n                                                 closeAlgorithm: () => Promise,\n                                                 abortAlgorithm: (reason: any) => Promise,\n                                                 highWaterMark: number,\n                                                 sizeAlgorithm: QueuingStrategySizeCallback) {\n  assert(IsWritableStream(stream));\n  assert(stream._writableStreamController === undefined);\n\n  controller._controlledWritableStream = stream;\n  stream._writableStreamController = controller;\n\n  // Need to set the slots so that the assert doesn't fire. In the spec the slots already exist implicitly.\n  controller._queue = undefined!;\n  controller._queueTotalSize = undefined!;\n  ResetQueue(controller);\n\n  controller._abortReason = undefined;\n  controller._abortController = createAbortController();\n  controller._started = false;\n\n  controller._strategySizeAlgorithm = sizeAlgorithm;\n  controller._strategyHWM = highWaterMark;\n\n  controller._writeAlgorithm = writeAlgorithm;\n  controller._closeAlgorithm = closeAlgorithm;\n  controller._abortAlgorithm = abortAlgorithm;\n\n  const backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\n  WritableStreamUpdateBackpressure(stream, backpressure);\n\n  const startResult = startAlgorithm();\n  const startPromise = promiseResolvedWith(startResult);\n  uponPromise(\n    startPromise,\n    () => {\n      assert(stream._state === 'writable' || stream._state === 'erroring');\n      controller._started = true;\n      WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n    },\n    r => {\n      assert(stream._state === 'writable' || stream._state === 'erroring');\n      controller._started = true;\n      WritableStreamDealWithRejection(stream, r);\n    }\n  );\n}\n\nfunction SetUpWritableStreamDefaultControllerFromUnderlyingSink(stream: WritableStream,\n                                                                   underlyingSink: ValidatedUnderlyingSink,\n                                                                   highWaterMark: number,\n                                                                   sizeAlgorithm: QueuingStrategySizeCallback) {\n  const controller = Object.create(WritableStreamDefaultController.prototype);\n\n  let startAlgorithm: () => void | PromiseLike = () => undefined;\n  let writeAlgorithm: (chunk: W) => Promise = () => promiseResolvedWith(undefined);\n  let closeAlgorithm: () => Promise = () => promiseResolvedWith(undefined);\n  let abortAlgorithm: (reason: any) => Promise = () => promiseResolvedWith(undefined);\n\n  if (underlyingSink.start !== undefined) {\n    startAlgorithm = () => underlyingSink.start!(controller);\n  }\n  if (underlyingSink.write !== undefined) {\n    writeAlgorithm = chunk => underlyingSink.write!(chunk, controller);\n  }\n  if (underlyingSink.close !== undefined) {\n    closeAlgorithm = () => underlyingSink.close!();\n  }\n  if (underlyingSink.abort !== undefined) {\n    abortAlgorithm = reason => underlyingSink.abort!(reason);\n  }\n\n  SetUpWritableStreamDefaultController(\n    stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm\n  );\n}\n\n// ClearAlgorithms may be called twice. Erroring the same stream in multiple ways will often result in redundant calls.\nfunction WritableStreamDefaultControllerClearAlgorithms(controller: WritableStreamDefaultController) {\n  controller._writeAlgorithm = undefined!;\n  controller._closeAlgorithm = undefined!;\n  controller._abortAlgorithm = undefined!;\n  controller._strategySizeAlgorithm = undefined!;\n}\n\nfunction WritableStreamDefaultControllerClose(controller: WritableStreamDefaultController) {\n  EnqueueValueWithSize(controller, closeSentinel, 0);\n  WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n}\n\nfunction WritableStreamDefaultControllerGetChunkSize(controller: WritableStreamDefaultController,\n                                                        chunk: W): number {\n  try {\n    return controller._strategySizeAlgorithm(chunk);\n  } catch (chunkSizeE) {\n    WritableStreamDefaultControllerErrorIfNeeded(controller, chunkSizeE);\n    return 1;\n  }\n}\n\nfunction WritableStreamDefaultControllerGetDesiredSize(controller: WritableStreamDefaultController): number {\n  return controller._strategyHWM - controller._queueTotalSize;\n}\n\nfunction WritableStreamDefaultControllerWrite(controller: WritableStreamDefaultController,\n                                                 chunk: W,\n                                                 chunkSize: number) {\n  try {\n    EnqueueValueWithSize(controller, chunk, chunkSize);\n  } catch (enqueueE) {\n    WritableStreamDefaultControllerErrorIfNeeded(controller, enqueueE);\n    return;\n  }\n\n  const stream = controller._controlledWritableStream;\n  if (!WritableStreamCloseQueuedOrInFlight(stream) && stream._state === 'writable') {\n    const backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\n    WritableStreamUpdateBackpressure(stream, backpressure);\n  }\n\n  WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n}\n\n// Abstract operations for the WritableStreamDefaultController.\n\nfunction WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller: WritableStreamDefaultController) {\n  const stream = controller._controlledWritableStream;\n\n  if (!controller._started) {\n    return;\n  }\n\n  if (stream._inFlightWriteRequest !== undefined) {\n    return;\n  }\n\n  const state = stream._state;\n  assert(state !== 'closed' && state !== 'errored');\n  if (state === 'erroring') {\n    WritableStreamFinishErroring(stream);\n    return;\n  }\n\n  if (controller._queue.length === 0) {\n    return;\n  }\n\n  const value = PeekQueueValue(controller);\n  if (value === closeSentinel) {\n    WritableStreamDefaultControllerProcessClose(controller);\n  } else {\n    WritableStreamDefaultControllerProcessWrite(controller, value);\n  }\n}\n\nfunction WritableStreamDefaultControllerErrorIfNeeded(controller: WritableStreamDefaultController, error: any) {\n  if (controller._controlledWritableStream._state === 'writable') {\n    WritableStreamDefaultControllerError(controller, error);\n  }\n}\n\nfunction WritableStreamDefaultControllerProcessClose(controller: WritableStreamDefaultController) {\n  const stream = controller._controlledWritableStream;\n\n  WritableStreamMarkCloseRequestInFlight(stream);\n\n  DequeueValue(controller);\n  assert(controller._queue.length === 0);\n\n  const sinkClosePromise = controller._closeAlgorithm();\n  WritableStreamDefaultControllerClearAlgorithms(controller);\n  uponPromise(\n    sinkClosePromise,\n    () => {\n      WritableStreamFinishInFlightClose(stream);\n    },\n    reason => {\n      WritableStreamFinishInFlightCloseWithError(stream, reason);\n    }\n  );\n}\n\nfunction WritableStreamDefaultControllerProcessWrite(controller: WritableStreamDefaultController, chunk: W) {\n  const stream = controller._controlledWritableStream;\n\n  WritableStreamMarkFirstWriteRequestInFlight(stream);\n\n  const sinkWritePromise = controller._writeAlgorithm(chunk);\n  uponPromise(\n    sinkWritePromise,\n    () => {\n      WritableStreamFinishInFlightWrite(stream);\n\n      const state = stream._state;\n      assert(state === 'writable' || state === 'erroring');\n\n      DequeueValue(controller);\n\n      if (!WritableStreamCloseQueuedOrInFlight(stream) && state === 'writable') {\n        const backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\n        WritableStreamUpdateBackpressure(stream, backpressure);\n      }\n\n      WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n    },\n    reason => {\n      if (stream._state === 'writable') {\n        WritableStreamDefaultControllerClearAlgorithms(controller);\n      }\n      WritableStreamFinishInFlightWriteWithError(stream, reason);\n    }\n  );\n}\n\nfunction WritableStreamDefaultControllerGetBackpressure(controller: WritableStreamDefaultController): boolean {\n  const desiredSize = WritableStreamDefaultControllerGetDesiredSize(controller);\n  return desiredSize <= 0;\n}\n\n// A client of WritableStreamDefaultController may use these functions directly to bypass state check.\n\nfunction WritableStreamDefaultControllerError(controller: WritableStreamDefaultController, error: any) {\n  const stream = controller._controlledWritableStream;\n\n  assert(stream._state === 'writable');\n\n  WritableStreamDefaultControllerClearAlgorithms(controller);\n  WritableStreamStartErroring(stream, error);\n}\n\n// Helper functions for the WritableStream.\n\nfunction streamBrandCheckException(name: string): TypeError {\n  return new TypeError(`WritableStream.prototype.${name} can only be used on a WritableStream`);\n}\n\n// Helper functions for the WritableStreamDefaultController.\n\nfunction defaultControllerBrandCheckException(name: string): TypeError {\n  return new TypeError(\n    `WritableStreamDefaultController.prototype.${name} can only be used on a WritableStreamDefaultController`);\n}\n\n\n// Helper functions for the WritableStreamDefaultWriter.\n\nfunction defaultWriterBrandCheckException(name: string): TypeError {\n  return new TypeError(\n    `WritableStreamDefaultWriter.prototype.${name} can only be used on a WritableStreamDefaultWriter`);\n}\n\nfunction defaultWriterLockException(name: string): TypeError {\n  return new TypeError('Cannot ' + name + ' a stream using a released writer');\n}\n\nfunction defaultWriterClosedPromiseInitialize(writer: WritableStreamDefaultWriter) {\n  writer._closedPromise = newPromise((resolve, reject) => {\n    writer._closedPromise_resolve = resolve;\n    writer._closedPromise_reject = reject;\n    writer._closedPromiseState = 'pending';\n  });\n}\n\nfunction defaultWriterClosedPromiseInitializeAsRejected(writer: WritableStreamDefaultWriter, reason: any) {\n  defaultWriterClosedPromiseInitialize(writer);\n  defaultWriterClosedPromiseReject(writer, reason);\n}\n\nfunction defaultWriterClosedPromiseInitializeAsResolved(writer: WritableStreamDefaultWriter) {\n  defaultWriterClosedPromiseInitialize(writer);\n  defaultWriterClosedPromiseResolve(writer);\n}\n\nfunction defaultWriterClosedPromiseReject(writer: WritableStreamDefaultWriter, reason: any) {\n  if (writer._closedPromise_reject === undefined) {\n    return;\n  }\n  assert(writer._closedPromiseState === 'pending');\n\n  setPromiseIsHandledToTrue(writer._closedPromise);\n  writer._closedPromise_reject(reason);\n  writer._closedPromise_resolve = undefined;\n  writer._closedPromise_reject = undefined;\n  writer._closedPromiseState = 'rejected';\n}\n\nfunction defaultWriterClosedPromiseResetToRejected(writer: WritableStreamDefaultWriter, reason: any) {\n  assert(writer._closedPromise_resolve === undefined);\n  assert(writer._closedPromise_reject === undefined);\n  assert(writer._closedPromiseState !== 'pending');\n\n  defaultWriterClosedPromiseInitializeAsRejected(writer, reason);\n}\n\nfunction defaultWriterClosedPromiseResolve(writer: WritableStreamDefaultWriter) {\n  if (writer._closedPromise_resolve === undefined) {\n    return;\n  }\n  assert(writer._closedPromiseState === 'pending');\n\n  writer._closedPromise_resolve(undefined);\n  writer._closedPromise_resolve = undefined;\n  writer._closedPromise_reject = undefined;\n  writer._closedPromiseState = 'resolved';\n}\n\nfunction defaultWriterReadyPromiseInitialize(writer: WritableStreamDefaultWriter) {\n  writer._readyPromise = newPromise((resolve, reject) => {\n    writer._readyPromise_resolve = resolve;\n    writer._readyPromise_reject = reject;\n  });\n  writer._readyPromiseState = 'pending';\n}\n\nfunction defaultWriterReadyPromiseInitializeAsRejected(writer: WritableStreamDefaultWriter, reason: any) {\n  defaultWriterReadyPromiseInitialize(writer);\n  defaultWriterReadyPromiseReject(writer, reason);\n}\n\nfunction defaultWriterReadyPromiseInitializeAsResolved(writer: WritableStreamDefaultWriter) {\n  defaultWriterReadyPromiseInitialize(writer);\n  defaultWriterReadyPromiseResolve(writer);\n}\n\nfunction defaultWriterReadyPromiseReject(writer: WritableStreamDefaultWriter, reason: any) {\n  if (writer._readyPromise_reject === undefined) {\n    return;\n  }\n\n  setPromiseIsHandledToTrue(writer._readyPromise);\n  writer._readyPromise_reject(reason);\n  writer._readyPromise_resolve = undefined;\n  writer._readyPromise_reject = undefined;\n  writer._readyPromiseState = 'rejected';\n}\n\nfunction defaultWriterReadyPromiseReset(writer: WritableStreamDefaultWriter) {\n  assert(writer._readyPromise_resolve === undefined);\n  assert(writer._readyPromise_reject === undefined);\n\n  defaultWriterReadyPromiseInitialize(writer);\n}\n\nfunction defaultWriterReadyPromiseResetToRejected(writer: WritableStreamDefaultWriter, reason: any) {\n  assert(writer._readyPromise_resolve === undefined);\n  assert(writer._readyPromise_reject === undefined);\n\n  defaultWriterReadyPromiseInitializeAsRejected(writer, reason);\n}\n\nfunction defaultWriterReadyPromiseResolve(writer: WritableStreamDefaultWriter) {\n  if (writer._readyPromise_resolve === undefined) {\n    return;\n  }\n\n  writer._readyPromise_resolve(undefined);\n  writer._readyPromise_resolve = undefined;\n  writer._readyPromise_reject = undefined;\n  writer._readyPromiseState = 'fulfilled';\n}\n","/// \nexport const NativeDOMException: typeof DOMException | undefined =\n  typeof DOMException !== 'undefined' ? DOMException : undefined;\n","/// \nimport { NativeDOMException } from './native';\n\ndeclare class DOMExceptionClass extends Error {\n  constructor(message?: string, name?: string);\n\n  name: string;\n  message: string;\n}\n\ntype DOMException = DOMExceptionClass;\ntype DOMExceptionConstructor = typeof DOMExceptionClass;\n\nfunction isDOMExceptionConstructor(ctor: unknown): ctor is DOMExceptionConstructor {\n  if (!(typeof ctor === 'function' || typeof ctor === 'object')) {\n    return false;\n  }\n  try {\n    new (ctor as DOMExceptionConstructor)();\n    return true;\n  } catch {\n    return false;\n  }\n}\n\nfunction createDOMExceptionPolyfill(): DOMExceptionConstructor {\n  // eslint-disable-next-line no-shadow\n  const ctor = function DOMException(this: DOMException, message?: string, name?: string) {\n    this.message = message || '';\n    this.name = name || 'Error';\n    if (Error.captureStackTrace) {\n      Error.captureStackTrace(this, this.constructor);\n    }\n  } as any;\n  ctor.prototype = Object.create(Error.prototype);\n  Object.defineProperty(ctor.prototype, 'constructor', { value: ctor, writable: true, configurable: true });\n  return ctor;\n}\n\n// eslint-disable-next-line no-redeclare\nconst DOMException: DOMExceptionConstructor =\n  isDOMExceptionConstructor(NativeDOMException) ? NativeDOMException : createDOMExceptionPolyfill();\n\nexport { DOMException };\n","import { IsReadableStream, IsReadableStreamLocked, ReadableStream, ReadableStreamCancel } from '../readable-stream';\nimport { AcquireReadableStreamDefaultReader, ReadableStreamDefaultReaderRead } from './default-reader';\nimport { ReadableStreamReaderGenericRelease } from './generic-reader';\nimport {\n  AcquireWritableStreamDefaultWriter,\n  IsWritableStream,\n  IsWritableStreamLocked,\n  WritableStream,\n  WritableStreamAbort,\n  WritableStreamCloseQueuedOrInFlight,\n  WritableStreamDefaultWriterCloseWithErrorPropagation,\n  WritableStreamDefaultWriterRelease,\n  WritableStreamDefaultWriterWrite\n} from '../writable-stream';\nimport assert from '../../stub/assert';\nimport {\n  newPromise,\n  PerformPromiseThen,\n  promiseResolvedWith,\n  setPromiseIsHandledToTrue,\n  uponFulfillment,\n  uponPromise,\n  uponRejection\n} from '../helpers/webidl';\nimport { noop } from '../../utils';\nimport { AbortSignal, isAbortSignal } from '../abort-signal';\nimport { DOMException } from '../../stub/dom-exception';\n\nexport function ReadableStreamPipeTo(source: ReadableStream,\n                                        dest: WritableStream,\n                                        preventClose: boolean,\n                                        preventAbort: boolean,\n                                        preventCancel: boolean,\n                                        signal: AbortSignal | undefined): Promise {\n  assert(IsReadableStream(source));\n  assert(IsWritableStream(dest));\n  assert(typeof preventClose === 'boolean');\n  assert(typeof preventAbort === 'boolean');\n  assert(typeof preventCancel === 'boolean');\n  assert(signal === undefined || isAbortSignal(signal));\n  assert(!IsReadableStreamLocked(source));\n  assert(!IsWritableStreamLocked(dest));\n\n  const reader = AcquireReadableStreamDefaultReader(source);\n  const writer = AcquireWritableStreamDefaultWriter(dest);\n\n  source._disturbed = true;\n\n  let shuttingDown = false;\n\n  // This is used to keep track of the spec's requirement that we wait for ongoing writes during shutdown.\n  let currentWrite = promiseResolvedWith(undefined);\n\n  return newPromise((resolve, reject) => {\n    let abortAlgorithm: () => void;\n    if (signal !== undefined) {\n      abortAlgorithm = () => {\n        const error = new DOMException('Aborted', 'AbortError');\n        const actions: Array<() => Promise> = [];\n        if (!preventAbort) {\n          actions.push(() => {\n            if (dest._state === 'writable') {\n              return WritableStreamAbort(dest, error);\n            }\n            return promiseResolvedWith(undefined);\n          });\n        }\n        if (!preventCancel) {\n          actions.push(() => {\n            if (source._state === 'readable') {\n              return ReadableStreamCancel(source, error);\n            }\n            return promiseResolvedWith(undefined);\n          });\n        }\n        shutdownWithAction(() => Promise.all(actions.map(action => action())), true, error);\n      };\n\n      if (signal.aborted) {\n        abortAlgorithm();\n        return;\n      }\n\n      signal.addEventListener('abort', abortAlgorithm);\n    }\n\n    // Using reader and writer, read all chunks from this and write them to dest\n    // - Backpressure must be enforced\n    // - Shutdown must stop all activity\n    function pipeLoop() {\n      return newPromise((resolveLoop, rejectLoop) => {\n        function next(done: boolean) {\n          if (done) {\n            resolveLoop();\n          } else {\n            // Use `PerformPromiseThen` instead of `uponPromise` to avoid\n            // adding unnecessary `.catch(rethrowAssertionErrorRejection)` handlers\n            PerformPromiseThen(pipeStep(), next, rejectLoop);\n          }\n        }\n\n        next(false);\n      });\n    }\n\n    function pipeStep(): Promise {\n      if (shuttingDown) {\n        return promiseResolvedWith(true);\n      }\n\n      return PerformPromiseThen(writer._readyPromise, () => {\n        return newPromise((resolveRead, rejectRead) => {\n          ReadableStreamDefaultReaderRead(\n            reader,\n            {\n              _chunkSteps: chunk => {\n                currentWrite = PerformPromiseThen(WritableStreamDefaultWriterWrite(writer, chunk), undefined, noop);\n                resolveRead(false);\n              },\n              _closeSteps: () => resolveRead(true),\n              _errorSteps: rejectRead\n            }\n          );\n        });\n      });\n    }\n\n    // Errors must be propagated forward\n    isOrBecomesErrored(source, reader._closedPromise, storedError => {\n      if (!preventAbort) {\n        shutdownWithAction(() => WritableStreamAbort(dest, storedError), true, storedError);\n      } else {\n        shutdown(true, storedError);\n      }\n    });\n\n    // Errors must be propagated backward\n    isOrBecomesErrored(dest, writer._closedPromise, storedError => {\n      if (!preventCancel) {\n        shutdownWithAction(() => ReadableStreamCancel(source, storedError), true, storedError);\n      } else {\n        shutdown(true, storedError);\n      }\n    });\n\n    // Closing must be propagated forward\n    isOrBecomesClosed(source, reader._closedPromise, () => {\n      if (!preventClose) {\n        shutdownWithAction(() => WritableStreamDefaultWriterCloseWithErrorPropagation(writer));\n      } else {\n        shutdown();\n      }\n    });\n\n    // Closing must be propagated backward\n    if (WritableStreamCloseQueuedOrInFlight(dest) || dest._state === 'closed') {\n      const destClosed = new TypeError('the destination writable stream closed before all data could be piped to it');\n\n      if (!preventCancel) {\n        shutdownWithAction(() => ReadableStreamCancel(source, destClosed), true, destClosed);\n      } else {\n        shutdown(true, destClosed);\n      }\n    }\n\n    setPromiseIsHandledToTrue(pipeLoop());\n\n    function waitForWritesToFinish(): Promise {\n      // Another write may have started while we were waiting on this currentWrite, so we have to be sure to wait\n      // for that too.\n      const oldCurrentWrite = currentWrite;\n      return PerformPromiseThen(\n        currentWrite,\n        () => oldCurrentWrite !== currentWrite ? waitForWritesToFinish() : undefined\n      );\n    }\n\n    function isOrBecomesErrored(stream: ReadableStream | WritableStream,\n                                promise: Promise,\n                                action: (reason: any) => void) {\n      if (stream._state === 'errored') {\n        action(stream._storedError);\n      } else {\n        uponRejection(promise, action);\n      }\n    }\n\n    function isOrBecomesClosed(stream: ReadableStream | WritableStream, promise: Promise, action: () => void) {\n      if (stream._state === 'closed') {\n        action();\n      } else {\n        uponFulfillment(promise, action);\n      }\n    }\n\n    function shutdownWithAction(action: () => Promise, originalIsError?: boolean, originalError?: any) {\n      if (shuttingDown) {\n        return;\n      }\n      shuttingDown = true;\n\n      if (dest._state === 'writable' && !WritableStreamCloseQueuedOrInFlight(dest)) {\n        uponFulfillment(waitForWritesToFinish(), doTheRest);\n      } else {\n        doTheRest();\n      }\n\n      function doTheRest() {\n        uponPromise(\n          action(),\n          () => finalize(originalIsError, originalError),\n          newError => finalize(true, newError)\n        );\n      }\n    }\n\n    function shutdown(isError?: boolean, error?: any) {\n      if (shuttingDown) {\n        return;\n      }\n      shuttingDown = true;\n\n      if (dest._state === 'writable' && !WritableStreamCloseQueuedOrInFlight(dest)) {\n        uponFulfillment(waitForWritesToFinish(), () => finalize(isError, error));\n      } else {\n        finalize(isError, error);\n      }\n    }\n\n    function finalize(isError?: boolean, error?: any) {\n      WritableStreamDefaultWriterRelease(writer);\n      ReadableStreamReaderGenericRelease(reader);\n\n      if (signal !== undefined) {\n        signal.removeEventListener('abort', abortAlgorithm);\n      }\n      if (isError) {\n        reject(error);\n      } else {\n        resolve(undefined);\n      }\n    }\n  });\n}\n","import { QueuingStrategySizeCallback } from '../queuing-strategy';\nimport assert from '../../stub/assert';\nimport { DequeueValue, EnqueueValueWithSize, QueuePair, ResetQueue } from '../abstract-ops/queue-with-sizes';\nimport {\n  ReadableStreamAddReadRequest,\n  ReadableStreamFulfillReadRequest,\n  ReadableStreamGetNumReadRequests,\n  ReadRequest\n} from './default-reader';\nimport { SimpleQueue } from '../simple-queue';\nimport { IsReadableStreamLocked, ReadableStream, ReadableStreamClose, ReadableStreamError } from '../readable-stream';\nimport { ValidatedUnderlyingSource } from './underlying-source';\nimport { typeIsObject } from '../helpers/miscellaneous';\nimport { CancelSteps, PullSteps } from '../abstract-ops/internal-methods';\nimport { promiseResolvedWith, uponPromise } from '../helpers/webidl';\n\n/**\n * Allows control of a {@link ReadableStream | readable stream}'s state and internal queue.\n *\n * @public\n */\nexport class ReadableStreamDefaultController {\n  /** @internal */\n  _controlledReadableStream!: ReadableStream;\n  /** @internal */\n  _queue!: SimpleQueue>;\n  /** @internal */\n  _queueTotalSize!: number;\n  /** @internal */\n  _started!: boolean;\n  /** @internal */\n  _closeRequested!: boolean;\n  /** @internal */\n  _pullAgain!: boolean;\n  /** @internal */\n  _pulling !: boolean;\n  /** @internal */\n  _strategySizeAlgorithm!: QueuingStrategySizeCallback;\n  /** @internal */\n  _strategyHWM!: number;\n  /** @internal */\n  _pullAlgorithm!: () => Promise;\n  /** @internal */\n  _cancelAlgorithm!: (reason: any) => Promise;\n\n  private constructor() {\n    throw new TypeError('Illegal constructor');\n  }\n\n  /**\n   * Returns the desired size to fill the controlled stream's internal queue. It can be negative, if the queue is\n   * over-full. An underlying source ought to use this information to determine when and how to apply backpressure.\n   */\n  get desiredSize(): number | null {\n    if (!IsReadableStreamDefaultController(this)) {\n      throw defaultControllerBrandCheckException('desiredSize');\n    }\n\n    return ReadableStreamDefaultControllerGetDesiredSize(this);\n  }\n\n  /**\n   * Closes the controlled readable stream. Consumers will still be able to read any previously-enqueued chunks from\n   * the stream, but once those are read, the stream will become closed.\n   */\n  close(): void {\n    if (!IsReadableStreamDefaultController(this)) {\n      throw defaultControllerBrandCheckException('close');\n    }\n\n    if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(this)) {\n      throw new TypeError('The stream is not in a state that permits close');\n    }\n\n    ReadableStreamDefaultControllerClose(this);\n  }\n\n  /**\n   * Enqueues the given chunk `chunk` in the controlled readable stream.\n   */\n  enqueue(chunk: R): void;\n  enqueue(chunk: R = undefined!): void {\n    if (!IsReadableStreamDefaultController(this)) {\n      throw defaultControllerBrandCheckException('enqueue');\n    }\n\n    if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(this)) {\n      throw new TypeError('The stream is not in a state that permits enqueue');\n    }\n\n    return ReadableStreamDefaultControllerEnqueue(this, chunk);\n  }\n\n  /**\n   * Errors the controlled readable stream, making all future interactions with it fail with the given error `e`.\n   */\n  error(e: any = undefined): void {\n    if (!IsReadableStreamDefaultController(this)) {\n      throw defaultControllerBrandCheckException('error');\n    }\n\n    ReadableStreamDefaultControllerError(this, e);\n  }\n\n  /** @internal */\n  [CancelSteps](reason: any): Promise {\n    ResetQueue(this);\n    const result = this._cancelAlgorithm(reason);\n    ReadableStreamDefaultControllerClearAlgorithms(this);\n    return result;\n  }\n\n  /** @internal */\n  [PullSteps](readRequest: ReadRequest): void {\n    const stream = this._controlledReadableStream;\n\n    if (this._queue.length > 0) {\n      const chunk = DequeueValue(this);\n\n      if (this._closeRequested && this._queue.length === 0) {\n        ReadableStreamDefaultControllerClearAlgorithms(this);\n        ReadableStreamClose(stream);\n      } else {\n        ReadableStreamDefaultControllerCallPullIfNeeded(this);\n      }\n\n      readRequest._chunkSteps(chunk);\n    } else {\n      ReadableStreamAddReadRequest(stream, readRequest);\n      ReadableStreamDefaultControllerCallPullIfNeeded(this);\n    }\n  }\n}\n\nObject.defineProperties(ReadableStreamDefaultController.prototype, {\n  close: { enumerable: true },\n  enqueue: { enumerable: true },\n  error: { enumerable: true },\n  desiredSize: { enumerable: true }\n});\nif (typeof Symbol.toStringTag === 'symbol') {\n  Object.defineProperty(ReadableStreamDefaultController.prototype, Symbol.toStringTag, {\n    value: 'ReadableStreamDefaultController',\n    configurable: true\n  });\n}\n\n// Abstract operations for the ReadableStreamDefaultController.\n\nfunction IsReadableStreamDefaultController(x: any): x is ReadableStreamDefaultController {\n  if (!typeIsObject(x)) {\n    return false;\n  }\n\n  if (!Object.prototype.hasOwnProperty.call(x, '_controlledReadableStream')) {\n    return false;\n  }\n\n  return x instanceof ReadableStreamDefaultController;\n}\n\nfunction ReadableStreamDefaultControllerCallPullIfNeeded(controller: ReadableStreamDefaultController): void {\n  const shouldPull = ReadableStreamDefaultControllerShouldCallPull(controller);\n  if (!shouldPull) {\n    return;\n  }\n\n  if (controller._pulling) {\n    controller._pullAgain = true;\n    return;\n  }\n\n  assert(!controller._pullAgain);\n\n  controller._pulling = true;\n\n  const pullPromise = controller._pullAlgorithm();\n  uponPromise(\n    pullPromise,\n    () => {\n      controller._pulling = false;\n\n      if (controller._pullAgain) {\n        controller._pullAgain = false;\n        ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n      }\n    },\n    e => {\n      ReadableStreamDefaultControllerError(controller, e);\n    }\n  );\n}\n\nfunction ReadableStreamDefaultControllerShouldCallPull(controller: ReadableStreamDefaultController): boolean {\n  const stream = controller._controlledReadableStream;\n\n  if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(controller)) {\n    return false;\n  }\n\n  if (!controller._started) {\n    return false;\n  }\n\n  if (IsReadableStreamLocked(stream) && ReadableStreamGetNumReadRequests(stream) > 0) {\n    return true;\n  }\n\n  const desiredSize = ReadableStreamDefaultControllerGetDesiredSize(controller);\n  assert(desiredSize !== null);\n  if (desiredSize! > 0) {\n    return true;\n  }\n\n  return false;\n}\n\nfunction ReadableStreamDefaultControllerClearAlgorithms(controller: ReadableStreamDefaultController) {\n  controller._pullAlgorithm = undefined!;\n  controller._cancelAlgorithm = undefined!;\n  controller._strategySizeAlgorithm = undefined!;\n}\n\n// A client of ReadableStreamDefaultController may use these functions directly to bypass state check.\n\nexport function ReadableStreamDefaultControllerClose(controller: ReadableStreamDefaultController) {\n  if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(controller)) {\n    return;\n  }\n\n  const stream = controller._controlledReadableStream;\n\n  controller._closeRequested = true;\n\n  if (controller._queue.length === 0) {\n    ReadableStreamDefaultControllerClearAlgorithms(controller);\n    ReadableStreamClose(stream);\n  }\n}\n\nexport function ReadableStreamDefaultControllerEnqueue(\n  controller: ReadableStreamDefaultController,\n  chunk: R\n): void {\n  if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(controller)) {\n    return;\n  }\n\n  const stream = controller._controlledReadableStream;\n\n  if (IsReadableStreamLocked(stream) && ReadableStreamGetNumReadRequests(stream) > 0) {\n    ReadableStreamFulfillReadRequest(stream, chunk, false);\n  } else {\n    let chunkSize;\n    try {\n      chunkSize = controller._strategySizeAlgorithm(chunk);\n    } catch (chunkSizeE) {\n      ReadableStreamDefaultControllerError(controller, chunkSizeE);\n      throw chunkSizeE;\n    }\n\n    try {\n      EnqueueValueWithSize(controller, chunk, chunkSize);\n    } catch (enqueueE) {\n      ReadableStreamDefaultControllerError(controller, enqueueE);\n      throw enqueueE;\n    }\n  }\n\n  ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n}\n\nexport function ReadableStreamDefaultControllerError(controller: ReadableStreamDefaultController, e: any) {\n  const stream = controller._controlledReadableStream;\n\n  if (stream._state !== 'readable') {\n    return;\n  }\n\n  ResetQueue(controller);\n\n  ReadableStreamDefaultControllerClearAlgorithms(controller);\n  ReadableStreamError(stream, e);\n}\n\nexport function ReadableStreamDefaultControllerGetDesiredSize(\n  controller: ReadableStreamDefaultController\n): number | null {\n  const state = controller._controlledReadableStream._state;\n\n  if (state === 'errored') {\n    return null;\n  }\n  if (state === 'closed') {\n    return 0;\n  }\n\n  return controller._strategyHWM - controller._queueTotalSize;\n}\n\n// This is used in the implementation of TransformStream.\nexport function ReadableStreamDefaultControllerHasBackpressure(\n  controller: ReadableStreamDefaultController\n): boolean {\n  if (ReadableStreamDefaultControllerShouldCallPull(controller)) {\n    return false;\n  }\n\n  return true;\n}\n\nexport function ReadableStreamDefaultControllerCanCloseOrEnqueue(\n  controller: ReadableStreamDefaultController\n): boolean {\n  const state = controller._controlledReadableStream._state;\n\n  if (!controller._closeRequested && state === 'readable') {\n    return true;\n  }\n\n  return false;\n}\n\nexport function SetUpReadableStreamDefaultController(stream: ReadableStream,\n                                                        controller: ReadableStreamDefaultController,\n                                                        startAlgorithm: () => void | PromiseLike,\n                                                        pullAlgorithm: () => Promise,\n                                                        cancelAlgorithm: (reason: any) => Promise,\n                                                        highWaterMark: number,\n                                                        sizeAlgorithm: QueuingStrategySizeCallback) {\n  assert(stream._readableStreamController === undefined);\n\n  controller._controlledReadableStream = stream;\n\n  controller._queue = undefined!;\n  controller._queueTotalSize = undefined!;\n  ResetQueue(controller);\n\n  controller._started = false;\n  controller._closeRequested = false;\n  controller._pullAgain = false;\n  controller._pulling = false;\n\n  controller._strategySizeAlgorithm = sizeAlgorithm;\n  controller._strategyHWM = highWaterMark;\n\n  controller._pullAlgorithm = pullAlgorithm;\n  controller._cancelAlgorithm = cancelAlgorithm;\n\n  stream._readableStreamController = controller;\n\n  const startResult = startAlgorithm();\n  uponPromise(\n    promiseResolvedWith(startResult),\n    () => {\n      controller._started = true;\n\n      assert(!controller._pulling);\n      assert(!controller._pullAgain);\n\n      ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n    },\n    r => {\n      ReadableStreamDefaultControllerError(controller, r);\n    }\n  );\n}\n\nexport function SetUpReadableStreamDefaultControllerFromUnderlyingSource(\n  stream: ReadableStream,\n  underlyingSource: ValidatedUnderlyingSource,\n  highWaterMark: number,\n  sizeAlgorithm: QueuingStrategySizeCallback\n) {\n  const controller: ReadableStreamDefaultController = Object.create(ReadableStreamDefaultController.prototype);\n\n  let startAlgorithm: () => void | PromiseLike = () => undefined;\n  let pullAlgorithm: () => Promise = () => promiseResolvedWith(undefined);\n  let cancelAlgorithm: (reason: any) => Promise = () => promiseResolvedWith(undefined);\n\n  if (underlyingSource.start !== undefined) {\n    startAlgorithm = () => underlyingSource.start!(controller);\n  }\n  if (underlyingSource.pull !== undefined) {\n    pullAlgorithm = () => underlyingSource.pull!(controller);\n  }\n  if (underlyingSource.cancel !== undefined) {\n    cancelAlgorithm = reason => underlyingSource.cancel!(reason);\n  }\n\n  SetUpReadableStreamDefaultController(\n    stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm\n  );\n}\n\n// Helper functions for the ReadableStreamDefaultController.\n\nfunction defaultControllerBrandCheckException(name: string): TypeError {\n  return new TypeError(\n    `ReadableStreamDefaultController.prototype.${name} can only be used on a ReadableStreamDefaultController`);\n}\n","import {\n  CreateReadableByteStream,\n  CreateReadableStream,\n  IsReadableStream,\n  ReadableByteStream,\n  ReadableStream,\n  ReadableStreamCancel,\n  ReadableStreamReader\n} from '../readable-stream';\nimport { ReadableStreamReaderGenericRelease } from './generic-reader';\nimport {\n  AcquireReadableStreamDefaultReader,\n  IsReadableStreamDefaultReader,\n  ReadableStreamDefaultReaderRead,\n  ReadRequest\n} from './default-reader';\nimport {\n  AcquireReadableStreamBYOBReader,\n  IsReadableStreamBYOBReader,\n  ReadableStreamBYOBReaderRead,\n  ReadIntoRequest\n} from './byob-reader';\nimport assert from '../../stub/assert';\nimport { newPromise, promiseResolvedWith, queueMicrotask, uponRejection } from '../helpers/webidl';\nimport {\n  ReadableStreamDefaultController,\n  ReadableStreamDefaultControllerClose,\n  ReadableStreamDefaultControllerEnqueue,\n  ReadableStreamDefaultControllerError\n} from './default-controller';\nimport {\n  IsReadableByteStreamController,\n  ReadableByteStreamControllerClose,\n  ReadableByteStreamControllerEnqueue,\n  ReadableByteStreamControllerError,\n  ReadableByteStreamControllerGetBYOBRequest,\n  ReadableByteStreamControllerRespond,\n  ReadableByteStreamControllerRespondWithNewView\n} from './byte-stream-controller';\nimport { CreateArrayFromList } from '../abstract-ops/ecmascript';\nimport { CloneAsUint8Array } from '../abstract-ops/miscellaneous';\n\nexport function ReadableStreamTee(stream: ReadableStream,\n                                     cloneForBranch2: boolean): [ReadableStream, ReadableStream] {\n  assert(IsReadableStream(stream));\n  assert(typeof cloneForBranch2 === 'boolean');\n  if (IsReadableByteStreamController(stream._readableStreamController)) {\n    return ReadableByteStreamTee(stream as unknown as ReadableByteStream) as\n      unknown as [ReadableStream, ReadableStream];\n  }\n  return ReadableStreamDefaultTee(stream, cloneForBranch2);\n}\n\nexport function ReadableStreamDefaultTee(stream: ReadableStream,\n                                            cloneForBranch2: boolean): [ReadableStream, ReadableStream] {\n  assert(IsReadableStream(stream));\n  assert(typeof cloneForBranch2 === 'boolean');\n\n  const reader = AcquireReadableStreamDefaultReader(stream);\n\n  let reading = false;\n  let readAgain = false;\n  let canceled1 = false;\n  let canceled2 = false;\n  let reason1: any;\n  let reason2: any;\n  let branch1: ReadableStream;\n  let branch2: ReadableStream;\n\n  let resolveCancelPromise: (value: undefined | Promise) => void;\n  const cancelPromise = newPromise(resolve => {\n    resolveCancelPromise = resolve;\n  });\n\n  function pullAlgorithm(): Promise {\n    if (reading) {\n      readAgain = true;\n      return promiseResolvedWith(undefined);\n    }\n\n    reading = true;\n\n    const readRequest: ReadRequest = {\n      _chunkSteps: chunk => {\n        // This needs to be delayed a microtask because it takes at least a microtask to detect errors (using\n        // reader._closedPromise below), and we want errors in stream to error both branches immediately. We cannot let\n        // successful synchronously-available reads get ahead of asynchronously-available errors.\n        queueMicrotask(() => {\n          readAgain = false;\n          const chunk1 = chunk;\n          const chunk2 = chunk;\n\n          // There is no way to access the cloning code right now in the reference implementation.\n          // If we add one then we'll need an implementation for serializable objects.\n          // if (!canceled2 && cloneForBranch2) {\n          //   chunk2 = StructuredDeserialize(StructuredSerialize(chunk2));\n          // }\n\n          if (!canceled1) {\n            ReadableStreamDefaultControllerEnqueue(\n              branch1._readableStreamController as ReadableStreamDefaultController,\n              chunk1\n            );\n          }\n          if (!canceled2) {\n            ReadableStreamDefaultControllerEnqueue(\n              branch2._readableStreamController as ReadableStreamDefaultController,\n              chunk2\n            );\n          }\n\n          reading = false;\n          if (readAgain) {\n            pullAlgorithm();\n          }\n        });\n      },\n      _closeSteps: () => {\n        reading = false;\n        if (!canceled1) {\n          ReadableStreamDefaultControllerClose(branch1._readableStreamController as ReadableStreamDefaultController);\n        }\n        if (!canceled2) {\n          ReadableStreamDefaultControllerClose(branch2._readableStreamController as ReadableStreamDefaultController);\n        }\n\n        if (!canceled1 || !canceled2) {\n          resolveCancelPromise(undefined);\n        }\n      },\n      _errorSteps: () => {\n        reading = false;\n      }\n    };\n    ReadableStreamDefaultReaderRead(reader, readRequest);\n\n    return promiseResolvedWith(undefined);\n  }\n\n  function cancel1Algorithm(reason: any): Promise {\n    canceled1 = true;\n    reason1 = reason;\n    if (canceled2) {\n      const compositeReason = CreateArrayFromList([reason1, reason2]);\n      const cancelResult = ReadableStreamCancel(stream, compositeReason);\n      resolveCancelPromise(cancelResult);\n    }\n    return cancelPromise;\n  }\n\n  function cancel2Algorithm(reason: any): Promise {\n    canceled2 = true;\n    reason2 = reason;\n    if (canceled1) {\n      const compositeReason = CreateArrayFromList([reason1, reason2]);\n      const cancelResult = ReadableStreamCancel(stream, compositeReason);\n      resolveCancelPromise(cancelResult);\n    }\n    return cancelPromise;\n  }\n\n  function startAlgorithm() {\n    // do nothing\n  }\n\n  branch1 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancel1Algorithm);\n  branch2 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancel2Algorithm);\n\n  uponRejection(reader._closedPromise, (r: any) => {\n    ReadableStreamDefaultControllerError(branch1._readableStreamController as ReadableStreamDefaultController, r);\n    ReadableStreamDefaultControllerError(branch2._readableStreamController as ReadableStreamDefaultController, r);\n    if (!canceled1 || !canceled2) {\n      resolveCancelPromise(undefined);\n    }\n  });\n\n  return [branch1, branch2];\n}\n\nexport function ReadableByteStreamTee(stream: ReadableByteStream): [ReadableByteStream, ReadableByteStream] {\n  assert(IsReadableStream(stream));\n  assert(IsReadableByteStreamController(stream._readableStreamController));\n\n  let reader: ReadableStreamReader = AcquireReadableStreamDefaultReader(stream);\n  let reading = false;\n  let readAgainForBranch1 = false;\n  let readAgainForBranch2 = false;\n  let canceled1 = false;\n  let canceled2 = false;\n  let reason1: any;\n  let reason2: any;\n  let branch1: ReadableByteStream;\n  let branch2: ReadableByteStream;\n\n  let resolveCancelPromise: (value: undefined | Promise) => void;\n  const cancelPromise = newPromise(resolve => {\n    resolveCancelPromise = resolve;\n  });\n\n  function forwardReaderError(thisReader: ReadableStreamReader) {\n    uponRejection(thisReader._closedPromise, r => {\n      if (thisReader !== reader) {\n        return;\n      }\n      ReadableByteStreamControllerError(branch1._readableStreamController, r);\n      ReadableByteStreamControllerError(branch2._readableStreamController, r);\n      if (!canceled1 || !canceled2) {\n        resolveCancelPromise(undefined);\n      }\n    });\n  }\n\n  function pullWithDefaultReader() {\n    if (IsReadableStreamBYOBReader(reader)) {\n      assert(reader._readIntoRequests.length === 0);\n      ReadableStreamReaderGenericRelease(reader);\n\n      reader = AcquireReadableStreamDefaultReader(stream);\n      forwardReaderError(reader);\n    }\n\n    const readRequest: ReadRequest = {\n      _chunkSteps: chunk => {\n        // This needs to be delayed a microtask because it takes at least a microtask to detect errors (using\n        // reader._closedPromise below), and we want errors in stream to error both branches immediately. We cannot let\n        // successful synchronously-available reads get ahead of asynchronously-available errors.\n        queueMicrotask(() => {\n          readAgainForBranch1 = false;\n          readAgainForBranch2 = false;\n\n          const chunk1 = chunk;\n          let chunk2 = chunk;\n          if (!canceled1 && !canceled2) {\n            try {\n              chunk2 = CloneAsUint8Array(chunk);\n            } catch (cloneE) {\n              ReadableByteStreamControllerError(branch1._readableStreamController, cloneE);\n              ReadableByteStreamControllerError(branch2._readableStreamController, cloneE);\n              resolveCancelPromise(ReadableStreamCancel(stream, cloneE));\n              return;\n            }\n          }\n\n          if (!canceled1) {\n            ReadableByteStreamControllerEnqueue(branch1._readableStreamController, chunk1);\n          }\n          if (!canceled2) {\n            ReadableByteStreamControllerEnqueue(branch2._readableStreamController, chunk2);\n          }\n\n          reading = false;\n          if (readAgainForBranch1) {\n            pull1Algorithm();\n          } else if (readAgainForBranch2) {\n            pull2Algorithm();\n          }\n        });\n      },\n      _closeSteps: () => {\n        reading = false;\n        if (!canceled1) {\n          ReadableByteStreamControllerClose(branch1._readableStreamController);\n        }\n        if (!canceled2) {\n          ReadableByteStreamControllerClose(branch2._readableStreamController);\n        }\n        if (branch1._readableStreamController._pendingPullIntos.length > 0) {\n          ReadableByteStreamControllerRespond(branch1._readableStreamController, 0);\n        }\n        if (branch2._readableStreamController._pendingPullIntos.length > 0) {\n          ReadableByteStreamControllerRespond(branch2._readableStreamController, 0);\n        }\n        if (!canceled1 || !canceled2) {\n          resolveCancelPromise(undefined);\n        }\n      },\n      _errorSteps: () => {\n        reading = false;\n      }\n    };\n    ReadableStreamDefaultReaderRead(reader, readRequest);\n  }\n\n  function pullWithBYOBReader(view: ArrayBufferView, forBranch2: boolean) {\n    if (IsReadableStreamDefaultReader(reader)) {\n      assert(reader._readRequests.length === 0);\n      ReadableStreamReaderGenericRelease(reader);\n\n      reader = AcquireReadableStreamBYOBReader(stream);\n      forwardReaderError(reader);\n    }\n\n    const byobBranch = forBranch2 ? branch2 : branch1;\n    const otherBranch = forBranch2 ? branch1 : branch2;\n\n    const readIntoRequest: ReadIntoRequest = {\n      _chunkSteps: chunk => {\n        // This needs to be delayed a microtask because it takes at least a microtask to detect errors (using\n        // reader._closedPromise below), and we want errors in stream to error both branches immediately. We cannot let\n        // successful synchronously-available reads get ahead of asynchronously-available errors.\n        queueMicrotask(() => {\n          readAgainForBranch1 = false;\n          readAgainForBranch2 = false;\n\n          const byobCanceled = forBranch2 ? canceled2 : canceled1;\n          const otherCanceled = forBranch2 ? canceled1 : canceled2;\n\n          if (!otherCanceled) {\n            let clonedChunk;\n            try {\n              clonedChunk = CloneAsUint8Array(chunk);\n            } catch (cloneE) {\n              ReadableByteStreamControllerError(byobBranch._readableStreamController, cloneE);\n              ReadableByteStreamControllerError(otherBranch._readableStreamController, cloneE);\n              resolveCancelPromise(ReadableStreamCancel(stream, cloneE));\n              return;\n            }\n            if (!byobCanceled) {\n              ReadableByteStreamControllerRespondWithNewView(byobBranch._readableStreamController, chunk);\n            }\n            ReadableByteStreamControllerEnqueue(otherBranch._readableStreamController, clonedChunk);\n          } else if (!byobCanceled) {\n            ReadableByteStreamControllerRespondWithNewView(byobBranch._readableStreamController, chunk);\n          }\n\n          reading = false;\n          if (readAgainForBranch1) {\n            pull1Algorithm();\n          } else if (readAgainForBranch2) {\n            pull2Algorithm();\n          }\n        });\n      },\n      _closeSteps: chunk => {\n        reading = false;\n\n        const byobCanceled = forBranch2 ? canceled2 : canceled1;\n        const otherCanceled = forBranch2 ? canceled1 : canceled2;\n\n        if (!byobCanceled) {\n          ReadableByteStreamControllerClose(byobBranch._readableStreamController);\n        }\n        if (!otherCanceled) {\n          ReadableByteStreamControllerClose(otherBranch._readableStreamController);\n        }\n\n        if (chunk !== undefined) {\n          assert(chunk.byteLength === 0);\n\n          if (!byobCanceled) {\n            ReadableByteStreamControllerRespondWithNewView(byobBranch._readableStreamController, chunk);\n          }\n          if (!otherCanceled && otherBranch._readableStreamController._pendingPullIntos.length > 0) {\n            ReadableByteStreamControllerRespond(otherBranch._readableStreamController, 0);\n          }\n        }\n\n        if (!byobCanceled || !otherCanceled) {\n          resolveCancelPromise(undefined);\n        }\n      },\n      _errorSteps: () => {\n        reading = false;\n      }\n    };\n    ReadableStreamBYOBReaderRead(reader, view, readIntoRequest);\n  }\n\n  function pull1Algorithm(): Promise {\n    if (reading) {\n      readAgainForBranch1 = true;\n      return promiseResolvedWith(undefined);\n    }\n\n    reading = true;\n\n    const byobRequest = ReadableByteStreamControllerGetBYOBRequest(branch1._readableStreamController);\n    if (byobRequest === null) {\n      pullWithDefaultReader();\n    } else {\n      pullWithBYOBReader(byobRequest._view!, false);\n    }\n\n    return promiseResolvedWith(undefined);\n  }\n\n  function pull2Algorithm(): Promise {\n    if (reading) {\n      readAgainForBranch2 = true;\n      return promiseResolvedWith(undefined);\n    }\n\n    reading = true;\n\n    const byobRequest = ReadableByteStreamControllerGetBYOBRequest(branch2._readableStreamController);\n    if (byobRequest === null) {\n      pullWithDefaultReader();\n    } else {\n      pullWithBYOBReader(byobRequest._view!, true);\n    }\n\n    return promiseResolvedWith(undefined);\n  }\n\n  function cancel1Algorithm(reason: any): Promise {\n    canceled1 = true;\n    reason1 = reason;\n    if (canceled2) {\n      const compositeReason = CreateArrayFromList([reason1, reason2]);\n      const cancelResult = ReadableStreamCancel(stream, compositeReason);\n      resolveCancelPromise(cancelResult);\n    }\n    return cancelPromise;\n  }\n\n  function cancel2Algorithm(reason: any): Promise {\n    canceled2 = true;\n    reason2 = reason;\n    if (canceled1) {\n      const compositeReason = CreateArrayFromList([reason1, reason2]);\n      const cancelResult = ReadableStreamCancel(stream, compositeReason);\n      resolveCancelPromise(cancelResult);\n    }\n    return cancelPromise;\n  }\n\n  function startAlgorithm(): void {\n    return;\n  }\n\n  branch1 = CreateReadableByteStream(startAlgorithm, pull1Algorithm, cancel1Algorithm);\n  branch2 = CreateReadableByteStream(startAlgorithm, pull2Algorithm, cancel2Algorithm);\n\n  forwardReaderError(reader);\n\n  return [branch1, branch2];\n}\n","import { assertDictionary, assertFunction, convertUnsignedLongLongWithEnforceRange } from './basic';\nimport {\n  ReadableStreamController,\n  UnderlyingByteSource,\n  UnderlyingDefaultOrByteSource,\n  UnderlyingDefaultOrByteSourcePullCallback,\n  UnderlyingDefaultOrByteSourceStartCallback,\n  UnderlyingSource,\n  UnderlyingSourceCancelCallback,\n  ValidatedUnderlyingDefaultOrByteSource\n} from '../readable-stream/underlying-source';\nimport { promiseCall, reflectCall } from '../helpers/webidl';\n\nexport function convertUnderlyingDefaultOrByteSource(\n  source: UnderlyingSource | UnderlyingByteSource | null,\n  context: string\n): ValidatedUnderlyingDefaultOrByteSource {\n  assertDictionary(source, context);\n  const original = source as (UnderlyingDefaultOrByteSource | null);\n  const autoAllocateChunkSize = original?.autoAllocateChunkSize;\n  const cancel = original?.cancel;\n  const pull = original?.pull;\n  const start = original?.start;\n  const type = original?.type;\n  return {\n    autoAllocateChunkSize: autoAllocateChunkSize === undefined ?\n      undefined :\n      convertUnsignedLongLongWithEnforceRange(\n        autoAllocateChunkSize,\n        `${context} has member 'autoAllocateChunkSize' that`\n      ),\n    cancel: cancel === undefined ?\n      undefined :\n      convertUnderlyingSourceCancelCallback(cancel, original!, `${context} has member 'cancel' that`),\n    pull: pull === undefined ?\n      undefined :\n      convertUnderlyingSourcePullCallback(pull, original!, `${context} has member 'pull' that`),\n    start: start === undefined ?\n      undefined :\n      convertUnderlyingSourceStartCallback(start, original!, `${context} has member 'start' that`),\n    type: type === undefined ? undefined : convertReadableStreamType(type, `${context} has member 'type' that`)\n  };\n}\n\nfunction convertUnderlyingSourceCancelCallback(\n  fn: UnderlyingSourceCancelCallback,\n  original: UnderlyingDefaultOrByteSource,\n  context: string\n): (reason: any) => Promise {\n  assertFunction(fn, context);\n  return (reason: any) => promiseCall(fn, original, [reason]);\n}\n\nfunction convertUnderlyingSourcePullCallback(\n  fn: UnderlyingDefaultOrByteSourcePullCallback,\n  original: UnderlyingDefaultOrByteSource,\n  context: string\n): (controller: ReadableStreamController) => Promise {\n  assertFunction(fn, context);\n  return (controller: ReadableStreamController) => promiseCall(fn, original, [controller]);\n}\n\nfunction convertUnderlyingSourceStartCallback(\n  fn: UnderlyingDefaultOrByteSourceStartCallback,\n  original: UnderlyingDefaultOrByteSource,\n  context: string\n): UnderlyingDefaultOrByteSourceStartCallback {\n  assertFunction(fn, context);\n  return (controller: ReadableStreamController) => reflectCall(fn, original, [controller]);\n}\n\nfunction convertReadableStreamType(type: string, context: string): 'bytes' {\n  type = `${type}`;\n  if (type !== 'bytes') {\n    throw new TypeError(`${context} '${type}' is not a valid enumeration value for ReadableStreamType`);\n  }\n  return type;\n}\n","import { assertDictionary } from './basic';\nimport { ReadableStreamGetReaderOptions } from '../readable-stream/reader-options';\n\nexport function convertReaderOptions(options: ReadableStreamGetReaderOptions | null | undefined,\n                                     context: string): ReadableStreamGetReaderOptions {\n  assertDictionary(options, context);\n  const mode = options?.mode;\n  return {\n    mode: mode === undefined ? undefined : convertReadableStreamReaderMode(mode, `${context} has member 'mode' that`)\n  };\n}\n\nfunction convertReadableStreamReaderMode(mode: string, context: string): 'byob' {\n  mode = `${mode}`;\n  if (mode !== 'byob') {\n    throw new TypeError(`${context} '${mode}' is not a valid enumeration value for ReadableStreamReaderMode`);\n  }\n  return mode;\n}\n","import { assertDictionary } from './basic';\nimport {\n  ReadableStreamIteratorOptions,\n  ValidatedReadableStreamIteratorOptions\n} from '../readable-stream/iterator-options';\n\nexport function convertIteratorOptions(options: ReadableStreamIteratorOptions | null | undefined,\n                                       context: string): ValidatedReadableStreamIteratorOptions {\n  assertDictionary(options, context);\n  const preventCancel = options?.preventCancel;\n  return { preventCancel: Boolean(preventCancel) };\n}\n","import { assertDictionary } from './basic';\nimport { StreamPipeOptions, ValidatedStreamPipeOptions } from '../readable-stream/pipe-options';\nimport { AbortSignal, isAbortSignal } from '../abort-signal';\n\nexport function convertPipeOptions(options: StreamPipeOptions | null | undefined,\n                                   context: string): ValidatedStreamPipeOptions {\n  assertDictionary(options, context);\n  const preventAbort = options?.preventAbort;\n  const preventCancel = options?.preventCancel;\n  const preventClose = options?.preventClose;\n  const signal = options?.signal;\n  if (signal !== undefined) {\n    assertAbortSignal(signal, `${context} has member 'signal' that`);\n  }\n  return {\n    preventAbort: Boolean(preventAbort),\n    preventCancel: Boolean(preventCancel),\n    preventClose: Boolean(preventClose),\n    signal\n  };\n}\n\nfunction assertAbortSignal(signal: unknown, context: string): asserts signal is AbortSignal {\n  if (!isAbortSignal(signal)) {\n    throw new TypeError(`${context} is not an AbortSignal.`);\n  }\n}\n","import { assertDictionary, assertRequiredField } from './basic';\nimport { ReadableStream } from '../readable-stream';\nimport { WritableStream } from '../writable-stream';\nimport { assertReadableStream } from './readable-stream';\nimport { assertWritableStream } from './writable-stream';\n\nexport function convertReadableWritablePair(\n  pair: { readable: RS; writable: WS } | null | undefined,\n  context: string\n): { readable: RS; writable: WS } {\n  assertDictionary(pair, context);\n\n  const readable = pair?.readable;\n  assertRequiredField(readable, 'readable', 'ReadableWritablePair');\n  assertReadableStream(readable, `${context} has member 'readable' that`);\n\n  const writable = pair?.writable;\n  assertRequiredField(writable, 'writable', 'ReadableWritablePair');\n  assertWritableStream(writable, `${context} has member 'writable' that`);\n\n  return { readable, writable };\n}\n","import assert from '../stub/assert';\nimport {\n  promiseRejectedWith,\n  promiseResolvedWith,\n  setPromiseIsHandledToTrue,\n  transformPromiseWith\n} from './helpers/webidl';\nimport { QueuingStrategy, QueuingStrategySizeCallback } from './queuing-strategy';\nimport { AcquireReadableStreamAsyncIterator, ReadableStreamAsyncIterator } from './readable-stream/async-iterator';\nimport { defaultReaderClosedPromiseReject, defaultReaderClosedPromiseResolve } from './readable-stream/generic-reader';\nimport {\n  AcquireReadableStreamDefaultReader,\n  IsReadableStreamDefaultReader,\n  ReadableStreamDefaultReader,\n  ReadableStreamDefaultReadResult\n} from './readable-stream/default-reader';\nimport {\n  AcquireReadableStreamBYOBReader,\n  IsReadableStreamBYOBReader,\n  ReadableStreamBYOBReader,\n  ReadableStreamBYOBReadResult\n} from './readable-stream/byob-reader';\nimport { ReadableStreamPipeTo } from './readable-stream/pipe';\nimport { ReadableStreamTee } from './readable-stream/tee';\nimport { IsWritableStream, IsWritableStreamLocked, WritableStream } from './writable-stream';\nimport { SimpleQueue } from './simple-queue';\nimport {\n  ReadableByteStreamController,\n  ReadableStreamBYOBRequest,\n  SetUpReadableByteStreamController,\n  SetUpReadableByteStreamControllerFromUnderlyingSource\n} from './readable-stream/byte-stream-controller';\nimport {\n  ReadableStreamDefaultController,\n  SetUpReadableStreamDefaultController,\n  SetUpReadableStreamDefaultControllerFromUnderlyingSource\n} from './readable-stream/default-controller';\nimport {\n  UnderlyingByteSource,\n  UnderlyingByteSourcePullCallback,\n  UnderlyingByteSourceStartCallback,\n  UnderlyingSource,\n  UnderlyingSourceCancelCallback,\n  UnderlyingSourcePullCallback,\n  UnderlyingSourceStartCallback\n} from './readable-stream/underlying-source';\nimport { noop } from '../utils';\nimport { typeIsObject } from './helpers/miscellaneous';\nimport { CreateArrayFromList } from './abstract-ops/ecmascript';\nimport { CancelSteps } from './abstract-ops/internal-methods';\nimport { IsNonNegativeNumber } from './abstract-ops/miscellaneous';\nimport { assertObject, assertRequiredArgument } from './validators/basic';\nimport { convertQueuingStrategy } from './validators/queuing-strategy';\nimport { ExtractHighWaterMark, ExtractSizeAlgorithm } from './abstract-ops/queuing-strategy';\nimport { convertUnderlyingDefaultOrByteSource } from './validators/underlying-source';\nimport { ReadableStreamGetReaderOptions } from './readable-stream/reader-options';\nimport { convertReaderOptions } from './validators/reader-options';\nimport { StreamPipeOptions, ValidatedStreamPipeOptions } from './readable-stream/pipe-options';\nimport { ReadableStreamIteratorOptions } from './readable-stream/iterator-options';\nimport { convertIteratorOptions } from './validators/iterator-options';\nimport { convertPipeOptions } from './validators/pipe-options';\nimport { ReadableWritablePair } from './readable-stream/readable-writable-pair';\nimport { convertReadableWritablePair } from './validators/readable-writable-pair';\n\nexport type ReadableByteStream = ReadableStream & {\n  _readableStreamController: ReadableByteStreamController\n};\n\ntype ReadableStreamState = 'readable' | 'closed' | 'errored';\n\n/**\n * A readable stream represents a source of data, from which you can read.\n *\n * @public\n */\nexport class ReadableStream {\n  /** @internal */\n  _state!: ReadableStreamState;\n  /** @internal */\n  _reader: ReadableStreamReader | undefined;\n  /** @internal */\n  _storedError: any;\n  /** @internal */\n  _disturbed!: boolean;\n  /** @internal */\n  _readableStreamController!: ReadableStreamDefaultController | ReadableByteStreamController;\n\n  constructor(underlyingSource: UnderlyingByteSource, strategy?: { highWaterMark?: number; size?: undefined });\n  constructor(underlyingSource?: UnderlyingSource, strategy?: QueuingStrategy);\n  constructor(rawUnderlyingSource: UnderlyingSource | UnderlyingByteSource | null | undefined = {},\n              rawStrategy: QueuingStrategy | null | undefined = {}) {\n    if (rawUnderlyingSource === undefined) {\n      rawUnderlyingSource = null;\n    } else {\n      assertObject(rawUnderlyingSource, 'First parameter');\n    }\n\n    const strategy = convertQueuingStrategy(rawStrategy, 'Second parameter');\n    const underlyingSource = convertUnderlyingDefaultOrByteSource(rawUnderlyingSource, 'First parameter');\n\n    InitializeReadableStream(this);\n\n    if (underlyingSource.type === 'bytes') {\n      if (strategy.size !== undefined) {\n        throw new RangeError('The strategy for a byte stream cannot have a size function');\n      }\n      const highWaterMark = ExtractHighWaterMark(strategy, 0);\n      SetUpReadableByteStreamControllerFromUnderlyingSource(\n        this as unknown as ReadableByteStream,\n        underlyingSource,\n        highWaterMark\n      );\n    } else {\n      assert(underlyingSource.type === undefined);\n      const sizeAlgorithm = ExtractSizeAlgorithm(strategy);\n      const highWaterMark = ExtractHighWaterMark(strategy, 1);\n      SetUpReadableStreamDefaultControllerFromUnderlyingSource(\n        this,\n        underlyingSource,\n        highWaterMark,\n        sizeAlgorithm\n      );\n    }\n  }\n\n  /**\n   * Whether or not the readable stream is locked to a {@link ReadableStreamDefaultReader | reader}.\n   */\n  get locked(): boolean {\n    if (!IsReadableStream(this)) {\n      throw streamBrandCheckException('locked');\n    }\n\n    return IsReadableStreamLocked(this);\n  }\n\n  /**\n   * Cancels the stream, signaling a loss of interest in the stream by a consumer.\n   *\n   * The supplied `reason` argument will be given to the underlying source's {@link UnderlyingSource.cancel | cancel()}\n   * method, which might or might not use it.\n   */\n  cancel(reason: any = undefined): Promise {\n    if (!IsReadableStream(this)) {\n      return promiseRejectedWith(streamBrandCheckException('cancel'));\n    }\n\n    if (IsReadableStreamLocked(this)) {\n      return promiseRejectedWith(new TypeError('Cannot cancel a stream that already has a reader'));\n    }\n\n    return ReadableStreamCancel(this, reason);\n  }\n\n  /**\n   * Creates a {@link ReadableStreamBYOBReader} and locks the stream to the new reader.\n   *\n   * This call behaves the same way as the no-argument variant, except that it only works on readable byte streams,\n   * i.e. streams which were constructed specifically with the ability to handle \"bring your own buffer\" reading.\n   * The returned BYOB reader provides the ability to directly read individual chunks from the stream via its\n   * {@link ReadableStreamBYOBReader.read | read()} method, into developer-supplied buffers, allowing more precise\n   * control over allocation.\n   */\n  getReader({ mode }: { mode: 'byob' }): ReadableStreamBYOBReader;\n  /**\n   * Creates a {@link ReadableStreamDefaultReader} and locks the stream to the new reader.\n   * While the stream is locked, no other reader can be acquired until this one is released.\n   *\n   * This functionality is especially useful for creating abstractions that desire the ability to consume a stream\n   * in its entirety. By getting a reader for the stream, you can ensure nobody else can interleave reads with yours\n   * or cancel the stream, which would interfere with your abstraction.\n   */\n  getReader(): ReadableStreamDefaultReader;\n  getReader(\n    rawOptions: ReadableStreamGetReaderOptions | null | undefined = undefined\n  ): ReadableStreamDefaultReader | ReadableStreamBYOBReader {\n    if (!IsReadableStream(this)) {\n      throw streamBrandCheckException('getReader');\n    }\n\n    const options = convertReaderOptions(rawOptions, 'First parameter');\n\n    if (options.mode === undefined) {\n      return AcquireReadableStreamDefaultReader(this);\n    }\n\n    assert(options.mode === 'byob');\n    return AcquireReadableStreamBYOBReader(this as unknown as ReadableByteStream);\n  }\n\n  /**\n   * Provides a convenient, chainable way of piping this readable stream through a transform stream\n   * (or any other `{ writable, readable }` pair). It simply {@link ReadableStream.pipeTo | pipes} the stream\n   * into the writable side of the supplied pair, and returns the readable side for further use.\n   *\n   * Piping a stream will lock it for the duration of the pipe, preventing any other consumer from acquiring a reader.\n   */\n  pipeThrough(\n    transform: { readable: RS; writable: WritableStream },\n    options?: StreamPipeOptions\n  ): RS;\n  pipeThrough(\n    rawTransform: { readable: RS; writable: WritableStream } | null | undefined,\n    rawOptions: StreamPipeOptions | null | undefined = {}\n  ): RS {\n    if (!IsReadableStream(this)) {\n      throw streamBrandCheckException('pipeThrough');\n    }\n    assertRequiredArgument(rawTransform, 1, 'pipeThrough');\n\n    const transform = convertReadableWritablePair(rawTransform, 'First parameter');\n    const options = convertPipeOptions(rawOptions, 'Second parameter');\n\n    if (IsReadableStreamLocked(this)) {\n      throw new TypeError('ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream');\n    }\n    if (IsWritableStreamLocked(transform.writable)) {\n      throw new TypeError('ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream');\n    }\n\n    const promise = ReadableStreamPipeTo(\n      this, transform.writable, options.preventClose, options.preventAbort, options.preventCancel, options.signal\n    );\n\n    setPromiseIsHandledToTrue(promise);\n\n    return transform.readable;\n  }\n\n  /**\n   * Pipes this readable stream to a given writable stream. The way in which the piping process behaves under\n   * various error conditions can be customized with a number of passed options. It returns a promise that fulfills\n   * when the piping process completes successfully, or rejects if any errors were encountered.\n   *\n   * Piping a stream will lock it for the duration of the pipe, preventing any other consumer from acquiring a reader.\n   */\n  pipeTo(destination: WritableStream, options?: StreamPipeOptions): Promise;\n  pipeTo(destination: WritableStream | null | undefined,\n         rawOptions: StreamPipeOptions | null | undefined = {}): Promise {\n    if (!IsReadableStream(this)) {\n      return promiseRejectedWith(streamBrandCheckException('pipeTo'));\n    }\n\n    if (destination === undefined) {\n      return promiseRejectedWith(`Parameter 1 is required in 'pipeTo'.`);\n    }\n    if (!IsWritableStream(destination)) {\n      return promiseRejectedWith(\n        new TypeError(`ReadableStream.prototype.pipeTo's first argument must be a WritableStream`)\n      );\n    }\n\n    let options: ValidatedStreamPipeOptions;\n    try {\n      options = convertPipeOptions(rawOptions, 'Second parameter');\n    } catch (e) {\n      return promiseRejectedWith(e);\n    }\n\n    if (IsReadableStreamLocked(this)) {\n      return promiseRejectedWith(\n        new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream')\n      );\n    }\n    if (IsWritableStreamLocked(destination)) {\n      return promiseRejectedWith(\n        new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream')\n      );\n    }\n\n    return ReadableStreamPipeTo(\n      this, destination, options.preventClose, options.preventAbort, options.preventCancel, options.signal\n    );\n  }\n\n  /**\n   * Tees this readable stream, returning a two-element array containing the two resulting branches as\n   * new {@link ReadableStream} instances.\n   *\n   * Teeing a stream will lock it, preventing any other consumer from acquiring a reader.\n   * To cancel the stream, cancel both of the resulting branches; a composite cancellation reason will then be\n   * propagated to the stream's underlying source.\n   *\n   * Note that the chunks seen in each branch will be the same object. If the chunks are not immutable,\n   * this could allow interference between the two branches.\n   */\n  tee(): [ReadableStream, ReadableStream] {\n    if (!IsReadableStream(this)) {\n      throw streamBrandCheckException('tee');\n    }\n\n    const branches = ReadableStreamTee(this, false);\n    return CreateArrayFromList(branches);\n  }\n\n  /**\n   * Asynchronously iterates over the chunks in the stream's internal queue.\n   *\n   * Asynchronously iterating over the stream will lock it, preventing any other consumer from acquiring a reader.\n   * The lock will be released if the async iterator's {@link ReadableStreamAsyncIterator.return | return()} method\n   * is called, e.g. by breaking out of the loop.\n   *\n   * By default, calling the async iterator's {@link ReadableStreamAsyncIterator.return | return()} method will also\n   * cancel the stream. To prevent this, use the stream's {@link ReadableStream.values | values()} method, passing\n   * `true` for the `preventCancel` option.\n   */\n  values(options?: ReadableStreamIteratorOptions): ReadableStreamAsyncIterator;\n  values(rawOptions: ReadableStreamIteratorOptions | null | undefined = undefined): ReadableStreamAsyncIterator {\n    if (!IsReadableStream(this)) {\n      throw streamBrandCheckException('values');\n    }\n\n    const options = convertIteratorOptions(rawOptions, 'First parameter');\n    return AcquireReadableStreamAsyncIterator(this, options.preventCancel);\n  }\n\n  /**\n   * {@inheritDoc ReadableStream.values}\n   */\n  [Symbol.asyncIterator]: (options?: ReadableStreamIteratorOptions) => ReadableStreamAsyncIterator;\n}\n\nObject.defineProperties(ReadableStream.prototype, {\n  cancel: { enumerable: true },\n  getReader: { enumerable: true },\n  pipeThrough: { enumerable: true },\n  pipeTo: { enumerable: true },\n  tee: { enumerable: true },\n  values: { enumerable: true },\n  locked: { enumerable: true }\n});\nif (typeof Symbol.toStringTag === 'symbol') {\n  Object.defineProperty(ReadableStream.prototype, Symbol.toStringTag, {\n    value: 'ReadableStream',\n    configurable: true\n  });\n}\nif (typeof Symbol.asyncIterator === 'symbol') {\n  Object.defineProperty(ReadableStream.prototype, Symbol.asyncIterator, {\n    value: ReadableStream.prototype.values,\n    writable: true,\n    configurable: true\n  });\n}\n\nexport {\n  ReadableStreamAsyncIterator,\n  ReadableStreamDefaultReadResult,\n  ReadableStreamBYOBReadResult,\n  UnderlyingByteSource,\n  UnderlyingSource,\n  UnderlyingSourceStartCallback,\n  UnderlyingSourcePullCallback,\n  UnderlyingSourceCancelCallback,\n  UnderlyingByteSourceStartCallback,\n  UnderlyingByteSourcePullCallback,\n  StreamPipeOptions,\n  ReadableWritablePair,\n  ReadableStreamIteratorOptions\n};\n\n// Abstract operations for the ReadableStream.\n\n// Throws if and only if startAlgorithm throws.\nexport function CreateReadableStream(startAlgorithm: () => void | PromiseLike,\n                                        pullAlgorithm: () => Promise,\n                                        cancelAlgorithm: (reason: any) => Promise,\n                                        highWaterMark = 1,\n                                        sizeAlgorithm: QueuingStrategySizeCallback = () => 1): ReadableStream {\n  assert(IsNonNegativeNumber(highWaterMark));\n\n  const stream: ReadableStream = Object.create(ReadableStream.prototype);\n  InitializeReadableStream(stream);\n\n  const controller: ReadableStreamDefaultController = Object.create(ReadableStreamDefaultController.prototype);\n  SetUpReadableStreamDefaultController(\n    stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm\n  );\n\n  return stream;\n}\n\n// Throws if and only if startAlgorithm throws.\nexport function CreateReadableByteStream(\n  startAlgorithm: () => void | PromiseLike,\n  pullAlgorithm: () => Promise,\n  cancelAlgorithm: (reason: any) => Promise\n): ReadableByteStream {\n  const stream: ReadableByteStream = Object.create(ReadableStream.prototype);\n  InitializeReadableStream(stream);\n\n  const controller: ReadableByteStreamController = Object.create(ReadableByteStreamController.prototype);\n  SetUpReadableByteStreamController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, 0, undefined);\n\n  return stream;\n}\n\nfunction InitializeReadableStream(stream: ReadableStream) {\n  stream._state = 'readable';\n  stream._reader = undefined;\n  stream._storedError = undefined;\n  stream._disturbed = false;\n}\n\nexport function IsReadableStream(x: unknown): x is ReadableStream {\n  if (!typeIsObject(x)) {\n    return false;\n  }\n\n  if (!Object.prototype.hasOwnProperty.call(x, '_readableStreamController')) {\n    return false;\n  }\n\n  return x instanceof ReadableStream;\n}\n\nexport function IsReadableStreamDisturbed(stream: ReadableStream): boolean {\n  assert(IsReadableStream(stream));\n\n  return stream._disturbed;\n}\n\nexport function IsReadableStreamLocked(stream: ReadableStream): boolean {\n  assert(IsReadableStream(stream));\n\n  if (stream._reader === undefined) {\n    return false;\n  }\n\n  return true;\n}\n\n// ReadableStream API exposed for controllers.\n\nexport function ReadableStreamCancel(stream: ReadableStream, reason: any): Promise {\n  stream._disturbed = true;\n\n  if (stream._state === 'closed') {\n    return promiseResolvedWith(undefined);\n  }\n  if (stream._state === 'errored') {\n    return promiseRejectedWith(stream._storedError);\n  }\n\n  ReadableStreamClose(stream);\n\n  const reader = stream._reader;\n  if (reader !== undefined && IsReadableStreamBYOBReader(reader)) {\n    reader._readIntoRequests.forEach(readIntoRequest => {\n      readIntoRequest._closeSteps(undefined);\n    });\n    reader._readIntoRequests = new SimpleQueue();\n  }\n\n  const sourceCancelPromise = stream._readableStreamController[CancelSteps](reason);\n  return transformPromiseWith(sourceCancelPromise, noop);\n}\n\nexport function ReadableStreamClose(stream: ReadableStream): void {\n  assert(stream._state === 'readable');\n\n  stream._state = 'closed';\n\n  const reader = stream._reader;\n\n  if (reader === undefined) {\n    return;\n  }\n\n  defaultReaderClosedPromiseResolve(reader);\n\n  if (IsReadableStreamDefaultReader(reader)) {\n    reader._readRequests.forEach(readRequest => {\n      readRequest._closeSteps();\n    });\n    reader._readRequests = new SimpleQueue();\n  }\n}\n\nexport function ReadableStreamError(stream: ReadableStream, e: any): void {\n  assert(IsReadableStream(stream));\n  assert(stream._state === 'readable');\n\n  stream._state = 'errored';\n  stream._storedError = e;\n\n  const reader = stream._reader;\n\n  if (reader === undefined) {\n    return;\n  }\n\n  defaultReaderClosedPromiseReject(reader, e);\n\n  if (IsReadableStreamDefaultReader(reader)) {\n    reader._readRequests.forEach(readRequest => {\n      readRequest._errorSteps(e);\n    });\n\n    reader._readRequests = new SimpleQueue();\n  } else {\n    assert(IsReadableStreamBYOBReader(reader));\n\n    reader._readIntoRequests.forEach(readIntoRequest => {\n      readIntoRequest._errorSteps(e);\n    });\n\n    reader._readIntoRequests = new SimpleQueue();\n  }\n}\n\n// Readers\n\nexport type ReadableStreamReader = ReadableStreamDefaultReader | ReadableStreamBYOBReader;\n\nexport {\n  ReadableStreamDefaultReader,\n  ReadableStreamBYOBReader\n};\n\n// Controllers\n\nexport {\n  ReadableStreamDefaultController,\n  ReadableStreamBYOBRequest,\n  ReadableByteStreamController\n};\n\n// Helper functions for the ReadableStream.\n\nfunction streamBrandCheckException(name: string): TypeError {\n  return new TypeError(`ReadableStream.prototype.${name} can only be used on a ReadableStream`);\n}\n","import { QueuingStrategyInit } from '../queuing-strategy';\nimport { assertDictionary, assertRequiredField, convertUnrestrictedDouble } from './basic';\n\nexport function convertQueuingStrategyInit(init: QueuingStrategyInit | null | undefined,\n                                           context: string): QueuingStrategyInit {\n  assertDictionary(init, context);\n  const highWaterMark = init?.highWaterMark;\n  assertRequiredField(highWaterMark, 'highWaterMark', 'QueuingStrategyInit');\n  return {\n    highWaterMark: convertUnrestrictedDouble(highWaterMark)\n  };\n}\n","import { QueuingStrategy, QueuingStrategyInit } from './queuing-strategy';\nimport { typeIsObject } from './helpers/miscellaneous';\nimport { assertRequiredArgument } from './validators/basic';\nimport { convertQueuingStrategyInit } from './validators/queuing-strategy-init';\n\n// The size function must not have a prototype property nor be a constructor\nconst byteLengthSizeFunction = (chunk: ArrayBufferView): number => {\n  return chunk.byteLength;\n};\ntry {\n  Object.defineProperty(byteLengthSizeFunction, 'name', {\n    value: 'size',\n    configurable: true\n  });\n} catch {\n  // This property is non-configurable in older browsers, so ignore if this throws.\n  // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/name#browser_compatibility\n}\n\n/**\n * A queuing strategy that counts the number of bytes in each chunk.\n *\n * @public\n */\nexport default class ByteLengthQueuingStrategy implements QueuingStrategy {\n  /** @internal */\n  readonly _byteLengthQueuingStrategyHighWaterMark: number;\n\n  constructor(options: QueuingStrategyInit) {\n    assertRequiredArgument(options, 1, 'ByteLengthQueuingStrategy');\n    options = convertQueuingStrategyInit(options, 'First parameter');\n    this._byteLengthQueuingStrategyHighWaterMark = options.highWaterMark;\n  }\n\n  /**\n   * Returns the high water mark provided to the constructor.\n   */\n  get highWaterMark(): number {\n    if (!IsByteLengthQueuingStrategy(this)) {\n      throw byteLengthBrandCheckException('highWaterMark');\n    }\n    return this._byteLengthQueuingStrategyHighWaterMark;\n  }\n\n  /**\n   * Measures the size of `chunk` by returning the value of its `byteLength` property.\n   */\n  get size(): (chunk: ArrayBufferView) => number {\n    if (!IsByteLengthQueuingStrategy(this)) {\n      throw byteLengthBrandCheckException('size');\n    }\n    return byteLengthSizeFunction;\n  }\n}\n\nObject.defineProperties(ByteLengthQueuingStrategy.prototype, {\n  highWaterMark: { enumerable: true },\n  size: { enumerable: true }\n});\nif (typeof Symbol.toStringTag === 'symbol') {\n  Object.defineProperty(ByteLengthQueuingStrategy.prototype, Symbol.toStringTag, {\n    value: 'ByteLengthQueuingStrategy',\n    configurable: true\n  });\n}\n\n// Helper functions for the ByteLengthQueuingStrategy.\n\nfunction byteLengthBrandCheckException(name: string): TypeError {\n  return new TypeError(`ByteLengthQueuingStrategy.prototype.${name} can only be used on a ByteLengthQueuingStrategy`);\n}\n\nexport function IsByteLengthQueuingStrategy(x: any): x is ByteLengthQueuingStrategy {\n  if (!typeIsObject(x)) {\n    return false;\n  }\n\n  if (!Object.prototype.hasOwnProperty.call(x, '_byteLengthQueuingStrategyHighWaterMark')) {\n    return false;\n  }\n\n  return x instanceof ByteLengthQueuingStrategy;\n}\n","import { QueuingStrategy, QueuingStrategyInit } from './queuing-strategy';\nimport { typeIsObject } from './helpers/miscellaneous';\nimport { assertRequiredArgument } from './validators/basic';\nimport { convertQueuingStrategyInit } from './validators/queuing-strategy-init';\n\n// The size function must not have a prototype property nor be a constructor\nconst countSizeFunction = (): 1 => {\n  return 1;\n};\ntry {\n  Object.defineProperty(countSizeFunction, 'name', {\n    value: 'size',\n    configurable: true\n  });\n} catch {\n  // This property is non-configurable in older browsers, so ignore if this throws.\n  // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/name#browser_compatibility\n}\n\n/**\n * A queuing strategy that counts the number of chunks.\n *\n * @public\n */\nexport default class CountQueuingStrategy implements QueuingStrategy {\n  /** @internal */\n  readonly _countQueuingStrategyHighWaterMark!: number;\n\n  constructor(options: QueuingStrategyInit) {\n    assertRequiredArgument(options, 1, 'CountQueuingStrategy');\n    options = convertQueuingStrategyInit(options, 'First parameter');\n    this._countQueuingStrategyHighWaterMark = options.highWaterMark;\n  }\n\n  /**\n   * Returns the high water mark provided to the constructor.\n   */\n  get highWaterMark(): number {\n    if (!IsCountQueuingStrategy(this)) {\n      throw countBrandCheckException('highWaterMark');\n    }\n    return this._countQueuingStrategyHighWaterMark;\n  }\n\n  /**\n   * Measures the size of `chunk` by always returning 1.\n   * This ensures that the total queue size is a count of the number of chunks in the queue.\n   */\n  get size(): (chunk: any) => 1 {\n    if (!IsCountQueuingStrategy(this)) {\n      throw countBrandCheckException('size');\n    }\n    return countSizeFunction;\n  }\n}\n\nObject.defineProperties(CountQueuingStrategy.prototype, {\n  highWaterMark: { enumerable: true },\n  size: { enumerable: true }\n});\nif (typeof Symbol.toStringTag === 'symbol') {\n  Object.defineProperty(CountQueuingStrategy.prototype, Symbol.toStringTag, {\n    value: 'CountQueuingStrategy',\n    configurable: true\n  });\n}\n\n// Helper functions for the CountQueuingStrategy.\n\nfunction countBrandCheckException(name: string): TypeError {\n  return new TypeError(`CountQueuingStrategy.prototype.${name} can only be used on a CountQueuingStrategy`);\n}\n\nexport function IsCountQueuingStrategy(x: any): x is CountQueuingStrategy {\n  if (!typeIsObject(x)) {\n    return false;\n  }\n\n  if (!Object.prototype.hasOwnProperty.call(x, '_countQueuingStrategyHighWaterMark')) {\n    return false;\n  }\n\n  return x instanceof CountQueuingStrategy;\n}\n","import { assertDictionary, assertFunction } from './basic';\nimport { promiseCall, reflectCall } from '../helpers/webidl';\nimport {\n  Transformer,\n  TransformerFlushCallback,\n  TransformerStartCallback,\n  TransformerTransformCallback,\n  ValidatedTransformer\n} from '../transform-stream/transformer';\nimport { TransformStreamDefaultController } from '../transform-stream';\n\nexport function convertTransformer(original: Transformer | null,\n                                         context: string): ValidatedTransformer {\n  assertDictionary(original, context);\n  const flush = original?.flush;\n  const readableType = original?.readableType;\n  const start = original?.start;\n  const transform = original?.transform;\n  const writableType = original?.writableType;\n  return {\n    flush: flush === undefined ?\n      undefined :\n      convertTransformerFlushCallback(flush, original!, `${context} has member 'flush' that`),\n    readableType,\n    start: start === undefined ?\n      undefined :\n      convertTransformerStartCallback(start, original!, `${context} has member 'start' that`),\n    transform: transform === undefined ?\n      undefined :\n      convertTransformerTransformCallback(transform, original!, `${context} has member 'transform' that`),\n    writableType\n  };\n}\n\nfunction convertTransformerFlushCallback(\n  fn: TransformerFlushCallback,\n  original: Transformer,\n  context: string\n): (controller: TransformStreamDefaultController) => Promise {\n  assertFunction(fn, context);\n  return (controller: TransformStreamDefaultController) => promiseCall(fn, original, [controller]);\n}\n\nfunction convertTransformerStartCallback(\n  fn: TransformerStartCallback,\n  original: Transformer,\n  context: string\n): TransformerStartCallback {\n  assertFunction(fn, context);\n  return (controller: TransformStreamDefaultController) => reflectCall(fn, original, [controller]);\n}\n\nfunction convertTransformerTransformCallback(\n  fn: TransformerTransformCallback,\n  original: Transformer,\n  context: string\n): (chunk: I, controller: TransformStreamDefaultController) => Promise {\n  assertFunction(fn, context);\n  return (chunk: I, controller: TransformStreamDefaultController) => promiseCall(fn, original, [chunk, controller]);\n}\n","import assert from '../stub/assert';\nimport { newPromise, promiseRejectedWith, promiseResolvedWith, transformPromiseWith } from './helpers/webidl';\nimport { CreateReadableStream, ReadableStream, ReadableStreamDefaultController } from './readable-stream';\nimport {\n  ReadableStreamDefaultControllerCanCloseOrEnqueue,\n  ReadableStreamDefaultControllerClose,\n  ReadableStreamDefaultControllerEnqueue,\n  ReadableStreamDefaultControllerError,\n  ReadableStreamDefaultControllerGetDesiredSize,\n  ReadableStreamDefaultControllerHasBackpressure\n} from './readable-stream/default-controller';\nimport { QueuingStrategy, QueuingStrategySizeCallback } from './queuing-strategy';\nimport { CreateWritableStream, WritableStream, WritableStreamDefaultControllerErrorIfNeeded } from './writable-stream';\nimport { typeIsObject } from './helpers/miscellaneous';\nimport { IsNonNegativeNumber } from './abstract-ops/miscellaneous';\nimport { convertQueuingStrategy } from './validators/queuing-strategy';\nimport { ExtractHighWaterMark, ExtractSizeAlgorithm } from './abstract-ops/queuing-strategy';\nimport {\n  Transformer,\n  TransformerFlushCallback,\n  TransformerStartCallback,\n  TransformerTransformCallback,\n  ValidatedTransformer\n} from './transform-stream/transformer';\nimport { convertTransformer } from './validators/transformer';\n\n// Class TransformStream\n\n/**\n * A transform stream consists of a pair of streams: a {@link WritableStream | writable stream},\n * known as its writable side, and a {@link ReadableStream | readable stream}, known as its readable side.\n * In a manner specific to the transform stream in question, writes to the writable side result in new data being\n * made available for reading from the readable side.\n *\n * @public\n */\nexport class TransformStream {\n  /** @internal */\n  _writable!: WritableStream;\n  /** @internal */\n  _readable!: ReadableStream;\n  /** @internal */\n  _backpressure!: boolean;\n  /** @internal */\n  _backpressureChangePromise!: Promise;\n  /** @internal */\n  _backpressureChangePromise_resolve!: () => void;\n  /** @internal */\n  _transformStreamController!: TransformStreamDefaultController;\n\n  constructor(\n    transformer?: Transformer,\n    writableStrategy?: QueuingStrategy,\n    readableStrategy?: QueuingStrategy\n  );\n  constructor(rawTransformer: Transformer | null | undefined = {},\n              rawWritableStrategy: QueuingStrategy | null | undefined = {},\n              rawReadableStrategy: QueuingStrategy | null | undefined = {}) {\n    if (rawTransformer === undefined) {\n      rawTransformer = null;\n    }\n\n    const writableStrategy = convertQueuingStrategy(rawWritableStrategy, 'Second parameter');\n    const readableStrategy = convertQueuingStrategy(rawReadableStrategy, 'Third parameter');\n\n    const transformer = convertTransformer(rawTransformer, 'First parameter');\n    if (transformer.readableType !== undefined) {\n      throw new RangeError('Invalid readableType specified');\n    }\n    if (transformer.writableType !== undefined) {\n      throw new RangeError('Invalid writableType specified');\n    }\n\n    const readableHighWaterMark = ExtractHighWaterMark(readableStrategy, 0);\n    const readableSizeAlgorithm = ExtractSizeAlgorithm(readableStrategy);\n    const writableHighWaterMark = ExtractHighWaterMark(writableStrategy, 1);\n    const writableSizeAlgorithm = ExtractSizeAlgorithm(writableStrategy);\n\n    let startPromise_resolve!: (value: void | PromiseLike) => void;\n    const startPromise = newPromise(resolve => {\n      startPromise_resolve = resolve;\n    });\n\n    InitializeTransformStream(\n      this, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm\n    );\n    SetUpTransformStreamDefaultControllerFromTransformer(this, transformer);\n\n    if (transformer.start !== undefined) {\n      startPromise_resolve(transformer.start(this._transformStreamController));\n    } else {\n      startPromise_resolve(undefined);\n    }\n  }\n\n  /**\n   * The readable side of the transform stream.\n   */\n  get readable(): ReadableStream {\n    if (!IsTransformStream(this)) {\n      throw streamBrandCheckException('readable');\n    }\n\n    return this._readable;\n  }\n\n  /**\n   * The writable side of the transform stream.\n   */\n  get writable(): WritableStream {\n    if (!IsTransformStream(this)) {\n      throw streamBrandCheckException('writable');\n    }\n\n    return this._writable;\n  }\n}\n\nObject.defineProperties(TransformStream.prototype, {\n  readable: { enumerable: true },\n  writable: { enumerable: true }\n});\nif (typeof Symbol.toStringTag === 'symbol') {\n  Object.defineProperty(TransformStream.prototype, Symbol.toStringTag, {\n    value: 'TransformStream',\n    configurable: true\n  });\n}\n\nexport {\n  Transformer,\n  TransformerStartCallback,\n  TransformerFlushCallback,\n  TransformerTransformCallback\n};\n\n// Transform Stream Abstract Operations\n\nexport function CreateTransformStream(startAlgorithm: () => void | PromiseLike,\n                                            transformAlgorithm: (chunk: I) => Promise,\n                                            flushAlgorithm: () => Promise,\n                                            writableHighWaterMark = 1,\n                                            writableSizeAlgorithm: QueuingStrategySizeCallback = () => 1,\n                                            readableHighWaterMark = 0,\n                                            readableSizeAlgorithm: QueuingStrategySizeCallback = () => 1) {\n  assert(IsNonNegativeNumber(writableHighWaterMark));\n  assert(IsNonNegativeNumber(readableHighWaterMark));\n\n  const stream: TransformStream = Object.create(TransformStream.prototype);\n\n  let startPromise_resolve!: (value: void | PromiseLike) => void;\n  const startPromise = newPromise(resolve => {\n    startPromise_resolve = resolve;\n  });\n\n  InitializeTransformStream(stream, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark,\n                            readableSizeAlgorithm);\n\n  const controller: TransformStreamDefaultController = Object.create(TransformStreamDefaultController.prototype);\n\n  SetUpTransformStreamDefaultController(stream, controller, transformAlgorithm, flushAlgorithm);\n\n  const startResult = startAlgorithm();\n  startPromise_resolve(startResult);\n  return stream;\n}\n\nfunction InitializeTransformStream(stream: TransformStream,\n                                         startPromise: Promise,\n                                         writableHighWaterMark: number,\n                                         writableSizeAlgorithm: QueuingStrategySizeCallback,\n                                         readableHighWaterMark: number,\n                                         readableSizeAlgorithm: QueuingStrategySizeCallback) {\n  function startAlgorithm(): Promise {\n    return startPromise;\n  }\n\n  function writeAlgorithm(chunk: I): Promise {\n    return TransformStreamDefaultSinkWriteAlgorithm(stream, chunk);\n  }\n\n  function abortAlgorithm(reason: any): Promise {\n    return TransformStreamDefaultSinkAbortAlgorithm(stream, reason);\n  }\n\n  function closeAlgorithm(): Promise {\n    return TransformStreamDefaultSinkCloseAlgorithm(stream);\n  }\n\n  stream._writable = CreateWritableStream(startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm,\n                                          writableHighWaterMark, writableSizeAlgorithm);\n\n  function pullAlgorithm(): Promise {\n    return TransformStreamDefaultSourcePullAlgorithm(stream);\n  }\n\n  function cancelAlgorithm(reason: any): Promise {\n    TransformStreamErrorWritableAndUnblockWrite(stream, reason);\n    return promiseResolvedWith(undefined);\n  }\n\n  stream._readable = CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, readableHighWaterMark,\n                                          readableSizeAlgorithm);\n\n  // The [[backpressure]] slot is set to undefined so that it can be initialised by TransformStreamSetBackpressure.\n  stream._backpressure = undefined!;\n  stream._backpressureChangePromise = undefined!;\n  stream._backpressureChangePromise_resolve = undefined!;\n  TransformStreamSetBackpressure(stream, true);\n\n  stream._transformStreamController = undefined!;\n}\n\nfunction IsTransformStream(x: unknown): x is TransformStream {\n  if (!typeIsObject(x)) {\n    return false;\n  }\n\n  if (!Object.prototype.hasOwnProperty.call(x, '_transformStreamController')) {\n    return false;\n  }\n\n  return x instanceof TransformStream;\n}\n\n// This is a no-op if both sides are already errored.\nfunction TransformStreamError(stream: TransformStream, e: any) {\n  ReadableStreamDefaultControllerError(\n    stream._readable._readableStreamController as ReadableStreamDefaultController,\n    e\n  );\n  TransformStreamErrorWritableAndUnblockWrite(stream, e);\n}\n\nfunction TransformStreamErrorWritableAndUnblockWrite(stream: TransformStream, e: any) {\n  TransformStreamDefaultControllerClearAlgorithms(stream._transformStreamController);\n  WritableStreamDefaultControllerErrorIfNeeded(stream._writable._writableStreamController, e);\n  if (stream._backpressure) {\n    // Pretend that pull() was called to permit any pending write() calls to complete. TransformStreamSetBackpressure()\n    // cannot be called from enqueue() or pull() once the ReadableStream is errored, so this will will be the final time\n    // _backpressure is set.\n    TransformStreamSetBackpressure(stream, false);\n  }\n}\n\nfunction TransformStreamSetBackpressure(stream: TransformStream, backpressure: boolean) {\n  // Passes also when called during construction.\n  assert(stream._backpressure !== backpressure);\n\n  if (stream._backpressureChangePromise !== undefined) {\n    stream._backpressureChangePromise_resolve();\n  }\n\n  stream._backpressureChangePromise = newPromise(resolve => {\n    stream._backpressureChangePromise_resolve = resolve;\n  });\n\n  stream._backpressure = backpressure;\n}\n\n// Class TransformStreamDefaultController\n\n/**\n * Allows control of the {@link ReadableStream} and {@link WritableStream} of the associated {@link TransformStream}.\n *\n * @public\n */\nexport class TransformStreamDefaultController {\n  /** @internal */\n  _controlledTransformStream: TransformStream;\n  /** @internal */\n  _transformAlgorithm: (chunk: any) => Promise;\n  /** @internal */\n  _flushAlgorithm: () => Promise;\n\n  private constructor() {\n    throw new TypeError('Illegal constructor');\n  }\n\n  /**\n   * Returns the desired size to fill the readable side’s internal queue. It can be negative, if the queue is over-full.\n   */\n  get desiredSize(): number | null {\n    if (!IsTransformStreamDefaultController(this)) {\n      throw defaultControllerBrandCheckException('desiredSize');\n    }\n\n    const readableController = this._controlledTransformStream._readable._readableStreamController;\n    return ReadableStreamDefaultControllerGetDesiredSize(readableController as ReadableStreamDefaultController);\n  }\n\n  /**\n   * Enqueues the given chunk `chunk` in the readable side of the controlled transform stream.\n   */\n  enqueue(chunk: O): void;\n  enqueue(chunk: O = undefined!): void {\n    if (!IsTransformStreamDefaultController(this)) {\n      throw defaultControllerBrandCheckException('enqueue');\n    }\n\n    TransformStreamDefaultControllerEnqueue(this, chunk);\n  }\n\n  /**\n   * Errors both the readable side and the writable side of the controlled transform stream, making all future\n   * interactions with it fail with the given error `e`. Any chunks queued for transformation will be discarded.\n   */\n  error(reason: any = undefined): void {\n    if (!IsTransformStreamDefaultController(this)) {\n      throw defaultControllerBrandCheckException('error');\n    }\n\n    TransformStreamDefaultControllerError(this, reason);\n  }\n\n  /**\n   * Closes the readable side and errors the writable side of the controlled transform stream. This is useful when the\n   * transformer only needs to consume a portion of the chunks written to the writable side.\n   */\n  terminate(): void {\n    if (!IsTransformStreamDefaultController(this)) {\n      throw defaultControllerBrandCheckException('terminate');\n    }\n\n    TransformStreamDefaultControllerTerminate(this);\n  }\n}\n\nObject.defineProperties(TransformStreamDefaultController.prototype, {\n  enqueue: { enumerable: true },\n  error: { enumerable: true },\n  terminate: { enumerable: true },\n  desiredSize: { enumerable: true }\n});\nif (typeof Symbol.toStringTag === 'symbol') {\n  Object.defineProperty(TransformStreamDefaultController.prototype, Symbol.toStringTag, {\n    value: 'TransformStreamDefaultController',\n    configurable: true\n  });\n}\n\n// Transform Stream Default Controller Abstract Operations\n\nfunction IsTransformStreamDefaultController(x: any): x is TransformStreamDefaultController {\n  if (!typeIsObject(x)) {\n    return false;\n  }\n\n  if (!Object.prototype.hasOwnProperty.call(x, '_controlledTransformStream')) {\n    return false;\n  }\n\n  return x instanceof TransformStreamDefaultController;\n}\n\nfunction SetUpTransformStreamDefaultController(stream: TransformStream,\n                                                     controller: TransformStreamDefaultController,\n                                                     transformAlgorithm: (chunk: I) => Promise,\n                                                     flushAlgorithm: () => Promise) {\n  assert(IsTransformStream(stream));\n  assert(stream._transformStreamController === undefined);\n\n  controller._controlledTransformStream = stream;\n  stream._transformStreamController = controller;\n\n  controller._transformAlgorithm = transformAlgorithm;\n  controller._flushAlgorithm = flushAlgorithm;\n}\n\nfunction SetUpTransformStreamDefaultControllerFromTransformer(stream: TransformStream,\n                                                                    transformer: ValidatedTransformer) {\n  const controller: TransformStreamDefaultController = Object.create(TransformStreamDefaultController.prototype);\n\n  let transformAlgorithm = (chunk: I): Promise => {\n    try {\n      TransformStreamDefaultControllerEnqueue(controller, chunk as unknown as O);\n      return promiseResolvedWith(undefined);\n    } catch (transformResultE) {\n      return promiseRejectedWith(transformResultE);\n    }\n  };\n\n  let flushAlgorithm: () => Promise = () => promiseResolvedWith(undefined);\n\n  if (transformer.transform !== undefined) {\n    transformAlgorithm = chunk => transformer.transform!(chunk, controller);\n  }\n  if (transformer.flush !== undefined) {\n    flushAlgorithm = () => transformer.flush!(controller);\n  }\n\n  SetUpTransformStreamDefaultController(stream, controller, transformAlgorithm, flushAlgorithm);\n}\n\nfunction TransformStreamDefaultControllerClearAlgorithms(controller: TransformStreamDefaultController) {\n  controller._transformAlgorithm = undefined!;\n  controller._flushAlgorithm = undefined!;\n}\n\nfunction TransformStreamDefaultControllerEnqueue(controller: TransformStreamDefaultController, chunk: O) {\n  const stream = controller._controlledTransformStream;\n  const readableController = stream._readable._readableStreamController as ReadableStreamDefaultController;\n  if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController)) {\n    throw new TypeError('Readable side is not in a state that permits enqueue');\n  }\n\n  // We throttle transform invocations based on the backpressure of the ReadableStream, but we still\n  // accept TransformStreamDefaultControllerEnqueue() calls.\n\n  try {\n    ReadableStreamDefaultControllerEnqueue(readableController, chunk);\n  } catch (e) {\n    // This happens when readableStrategy.size() throws.\n    TransformStreamErrorWritableAndUnblockWrite(stream, e);\n\n    throw stream._readable._storedError;\n  }\n\n  const backpressure = ReadableStreamDefaultControllerHasBackpressure(readableController);\n  if (backpressure !== stream._backpressure) {\n    assert(backpressure);\n    TransformStreamSetBackpressure(stream, true);\n  }\n}\n\nfunction TransformStreamDefaultControllerError(controller: TransformStreamDefaultController, e: any) {\n  TransformStreamError(controller._controlledTransformStream, e);\n}\n\nfunction TransformStreamDefaultControllerPerformTransform(controller: TransformStreamDefaultController,\n                                                                chunk: I) {\n  const transformPromise = controller._transformAlgorithm(chunk);\n  return transformPromiseWith(transformPromise, undefined, r => {\n    TransformStreamError(controller._controlledTransformStream, r);\n    throw r;\n  });\n}\n\nfunction TransformStreamDefaultControllerTerminate(controller: TransformStreamDefaultController) {\n  const stream = controller._controlledTransformStream;\n  const readableController = stream._readable._readableStreamController as ReadableStreamDefaultController;\n\n  ReadableStreamDefaultControllerClose(readableController);\n\n  const error = new TypeError('TransformStream terminated');\n  TransformStreamErrorWritableAndUnblockWrite(stream, error);\n}\n\n// TransformStreamDefaultSink Algorithms\n\nfunction TransformStreamDefaultSinkWriteAlgorithm(stream: TransformStream, chunk: I): Promise {\n  assert(stream._writable._state === 'writable');\n\n  const controller = stream._transformStreamController;\n\n  if (stream._backpressure) {\n    const backpressureChangePromise = stream._backpressureChangePromise;\n    assert(backpressureChangePromise !== undefined);\n    return transformPromiseWith(backpressureChangePromise, () => {\n      const writable = stream._writable;\n      const state = writable._state;\n      if (state === 'erroring') {\n        throw writable._storedError;\n      }\n      assert(state === 'writable');\n      return TransformStreamDefaultControllerPerformTransform(controller, chunk);\n    });\n  }\n\n  return TransformStreamDefaultControllerPerformTransform(controller, chunk);\n}\n\nfunction TransformStreamDefaultSinkAbortAlgorithm(stream: TransformStream, reason: any): Promise {\n  // abort() is not called synchronously, so it is possible for abort() to be called when the stream is already\n  // errored.\n  TransformStreamError(stream, reason);\n  return promiseResolvedWith(undefined);\n}\n\nfunction TransformStreamDefaultSinkCloseAlgorithm(stream: TransformStream): Promise {\n  // stream._readable cannot change after construction, so caching it across a call to user code is safe.\n  const readable = stream._readable;\n\n  const controller = stream._transformStreamController;\n  const flushPromise = controller._flushAlgorithm();\n  TransformStreamDefaultControllerClearAlgorithms(controller);\n\n  // Return a promise that is fulfilled with undefined on success.\n  return transformPromiseWith(flushPromise, () => {\n    if (readable._state === 'errored') {\n      throw readable._storedError;\n    }\n    ReadableStreamDefaultControllerClose(readable._readableStreamController as ReadableStreamDefaultController);\n  }, r => {\n    TransformStreamError(stream, r);\n    throw readable._storedError;\n  });\n}\n\n// TransformStreamDefaultSource Algorithms\n\nfunction TransformStreamDefaultSourcePullAlgorithm(stream: TransformStream): Promise {\n  // Invariant. Enforced by the promises returned by start() and pull().\n  assert(stream._backpressure);\n\n  assert(stream._backpressureChangePromise !== undefined);\n\n  TransformStreamSetBackpressure(stream, false);\n\n  // Prevent the next pull() call until there is backpressure.\n  return stream._backpressureChangePromise;\n}\n\n// Helper functions for the TransformStreamDefaultController.\n\nfunction defaultControllerBrandCheckException(name: string): TypeError {\n  return new TypeError(\n    `TransformStreamDefaultController.prototype.${name} can only be used on a TransformStreamDefaultController`);\n}\n\n// Helper functions for the TransformStream.\n\nfunction streamBrandCheckException(name: string): TypeError {\n  return new TypeError(\n    `TransformStream.prototype.${name} can only be used on a TransformStream`);\n}\n","/* c8 ignore start */\n// 64 KiB (same size chrome slice theirs blob into Uint8array's)\nconst POOL_SIZE = 65536\n\nif (!globalThis.ReadableStream) {\n  // `node:stream/web` got introduced in v16.5.0 as experimental\n  // and it's preferred over the polyfilled version. So we also\n  // suppress the warning that gets emitted by NodeJS for using it.\n  try {\n    const process = require('node:process')\n    const { emitWarning } = process\n    try {\n      process.emitWarning = () => {}\n      Object.assign(globalThis, require('node:stream/web'))\n      process.emitWarning = emitWarning\n    } catch (error) {\n      process.emitWarning = emitWarning\n      throw error\n    }\n  } catch (error) {\n    // fallback to polyfill implementation\n    Object.assign(globalThis, require('web-streams-polyfill/dist/ponyfill.es2018.js'))\n  }\n}\n\ntry {\n  // Don't use node: prefix for this, require+node: is not supported until node v14.14\n  // Only `import()` can use prefix in 12.20 and later\n  const { Blob } = require('buffer')\n  if (Blob && !Blob.prototype.stream) {\n    Blob.prototype.stream = function name (params) {\n      let position = 0\n      const blob = this\n\n      return new ReadableStream({\n        type: 'bytes',\n        async pull (ctrl) {\n          const chunk = blob.slice(position, Math.min(blob.size, position + POOL_SIZE))\n          const buffer = await chunk.arrayBuffer()\n          position += buffer.byteLength\n          ctrl.enqueue(new Uint8Array(buffer))\n\n          if (position === blob.size) {\n            ctrl.close()\n          }\n        }\n      })\n    }\n  }\n} catch (error) {}\n/* c8 ignore end */\n","/*! fetch-blob. MIT License. Jimmy Wärting  */\n\n// TODO (jimmywarting): in the feature use conditional loading with top level await (requires 14.x)\n// Node has recently added whatwg stream into core\n\nimport './streams.cjs'\n\n// 64 KiB (same size chrome slice theirs blob into Uint8array's)\nconst POOL_SIZE = 65536\n\n/** @param {(Blob | Uint8Array)[]} parts */\nasync function * toIterator (parts, clone = true) {\n  for (const part of parts) {\n    if ('stream' in part) {\n      yield * (/** @type {AsyncIterableIterator} */ (part.stream()))\n    } else if (ArrayBuffer.isView(part)) {\n      if (clone) {\n        let position = part.byteOffset\n        const end = part.byteOffset + part.byteLength\n        while (position !== end) {\n          const size = Math.min(end - position, POOL_SIZE)\n          const chunk = part.buffer.slice(position, position + size)\n          position += chunk.byteLength\n          yield new Uint8Array(chunk)\n        }\n      } else {\n        yield part\n      }\n    /* c8 ignore next 10 */\n    } else {\n      // For blobs that have arrayBuffer but no stream method (nodes buffer.Blob)\n      let position = 0, b = (/** @type {Blob} */ (part))\n      while (position !== b.size) {\n        const chunk = b.slice(position, Math.min(b.size, position + POOL_SIZE))\n        const buffer = await chunk.arrayBuffer()\n        position += buffer.byteLength\n        yield new Uint8Array(buffer)\n      }\n    }\n  }\n}\n\nconst _Blob = class Blob {\n  /** @type {Array.<(Blob|Uint8Array)>} */\n  #parts = []\n  #type = ''\n  #size = 0\n  #endings = 'transparent'\n\n  /**\n   * The Blob() constructor returns a new Blob object. The content\n   * of the blob consists of the concatenation of the values given\n   * in the parameter array.\n   *\n   * @param {*} blobParts\n   * @param {{ type?: string, endings?: string }} [options]\n   */\n  constructor (blobParts = [], options = {}) {\n    if (typeof blobParts !== 'object' || blobParts === null) {\n      throw new TypeError('Failed to construct \\'Blob\\': The provided value cannot be converted to a sequence.')\n    }\n\n    if (typeof blobParts[Symbol.iterator] !== 'function') {\n      throw new TypeError('Failed to construct \\'Blob\\': The object must have a callable @@iterator property.')\n    }\n\n    if (typeof options !== 'object' && typeof options !== 'function') {\n      throw new TypeError('Failed to construct \\'Blob\\': parameter 2 cannot convert to dictionary.')\n    }\n\n    if (options === null) options = {}\n\n    const encoder = new TextEncoder()\n    for (const element of blobParts) {\n      let part\n      if (ArrayBuffer.isView(element)) {\n        part = new Uint8Array(element.buffer.slice(element.byteOffset, element.byteOffset + element.byteLength))\n      } else if (element instanceof ArrayBuffer) {\n        part = new Uint8Array(element.slice(0))\n      } else if (element instanceof Blob) {\n        part = element\n      } else {\n        part = encoder.encode(`${element}`)\n      }\n\n      this.#size += ArrayBuffer.isView(part) ? part.byteLength : part.size\n      this.#parts.push(part)\n    }\n\n    this.#endings = `${options.endings === undefined ? 'transparent' : options.endings}`\n    const type = options.type === undefined ? '' : String(options.type)\n    this.#type = /^[\\x20-\\x7E]*$/.test(type) ? type : ''\n  }\n\n  /**\n   * The Blob interface's size property returns the\n   * size of the Blob in bytes.\n   */\n  get size () {\n    return this.#size\n  }\n\n  /**\n   * The type property of a Blob object returns the MIME type of the file.\n   */\n  get type () {\n    return this.#type\n  }\n\n  /**\n   * The text() method in the Blob interface returns a Promise\n   * that resolves with a string containing the contents of\n   * the blob, interpreted as UTF-8.\n   *\n   * @return {Promise}\n   */\n  async text () {\n    // More optimized than using this.arrayBuffer()\n    // that requires twice as much ram\n    const decoder = new TextDecoder()\n    let str = ''\n    for await (const part of toIterator(this.#parts, false)) {\n      str += decoder.decode(part, { stream: true })\n    }\n    // Remaining\n    str += decoder.decode()\n    return str\n  }\n\n  /**\n   * The arrayBuffer() method in the Blob interface returns a\n   * Promise that resolves with the contents of the blob as\n   * binary data contained in an ArrayBuffer.\n   *\n   * @return {Promise}\n   */\n  async arrayBuffer () {\n    // Easier way... Just a unnecessary overhead\n    // const view = new Uint8Array(this.size);\n    // await this.stream().getReader({mode: 'byob'}).read(view);\n    // return view.buffer;\n\n    const data = new Uint8Array(this.size)\n    let offset = 0\n    for await (const chunk of toIterator(this.#parts, false)) {\n      data.set(chunk, offset)\n      offset += chunk.length\n    }\n\n    return data.buffer\n  }\n\n  stream () {\n    const it = toIterator(this.#parts, true)\n\n    return new globalThis.ReadableStream({\n      // @ts-ignore\n      type: 'bytes',\n      async pull (ctrl) {\n        const chunk = await it.next()\n        chunk.done ? ctrl.close() : ctrl.enqueue(chunk.value)\n      },\n\n      async cancel () {\n        await it.return()\n      }\n    })\n  }\n\n  /**\n   * The Blob interface's slice() method creates and returns a\n   * new Blob object which contains data from a subset of the\n   * blob on which it's called.\n   *\n   * @param {number} [start]\n   * @param {number} [end]\n   * @param {string} [type]\n   */\n  slice (start = 0, end = this.size, type = '') {\n    const { size } = this\n\n    let relativeStart = start < 0 ? Math.max(size + start, 0) : Math.min(start, size)\n    let relativeEnd = end < 0 ? Math.max(size + end, 0) : Math.min(end, size)\n\n    const span = Math.max(relativeEnd - relativeStart, 0)\n    const parts = this.#parts\n    const blobParts = []\n    let added = 0\n\n    for (const part of parts) {\n      // don't add the overflow to new blobParts\n      if (added >= span) {\n        break\n      }\n\n      const size = ArrayBuffer.isView(part) ? part.byteLength : part.size\n      if (relativeStart && size <= relativeStart) {\n        // Skip the beginning and change the relative\n        // start & end position as we skip the unwanted parts\n        relativeStart -= size\n        relativeEnd -= size\n      } else {\n        let chunk\n        if (ArrayBuffer.isView(part)) {\n          chunk = part.subarray(relativeStart, Math.min(size, relativeEnd))\n          added += chunk.byteLength\n        } else {\n          chunk = part.slice(relativeStart, Math.min(size, relativeEnd))\n          added += chunk.size\n        }\n        relativeEnd -= size\n        blobParts.push(chunk)\n        relativeStart = 0 // All next sequential parts should start at 0\n      }\n    }\n\n    const blob = new Blob([], { type: String(type).toLowerCase() })\n    blob.#size = span\n    blob.#parts = blobParts\n\n    return blob\n  }\n\n  get [Symbol.toStringTag] () {\n    return 'Blob'\n  }\n\n  static [Symbol.hasInstance] (object) {\n    return (\n      object &&\n      typeof object === 'object' &&\n      typeof object.constructor === 'function' &&\n      (\n        typeof object.stream === 'function' ||\n        typeof object.arrayBuffer === 'function'\n      ) &&\n      /^(Blob|File)$/.test(object[Symbol.toStringTag])\n    )\n  }\n}\n\nObject.defineProperties(_Blob.prototype, {\n  size: { enumerable: true },\n  type: { enumerable: true },\n  slice: { enumerable: true }\n})\n\n/** @type {typeof globalThis.Blob} */\nexport const Blob = _Blob\nexport default Blob\n","import Blob from './index.js'\n\nconst _File = class File extends Blob {\n  #lastModified = 0\n  #name = ''\n\n  /**\n   * @param {*[]} fileBits\n   * @param {string} fileName\n   * @param {{lastModified?: number, type?: string}} options\n   */// @ts-ignore\n  constructor (fileBits, fileName, options = {}) {\n    if (arguments.length < 2) {\n      throw new TypeError(`Failed to construct 'File': 2 arguments required, but only ${arguments.length} present.`)\n    }\n    super(fileBits, options)\n\n    if (options === null) options = {}\n\n    // Simulate WebIDL type casting for NaN value in lastModified option.\n    const lastModified = options.lastModified === undefined ? Date.now() : Number(options.lastModified)\n    if (!Number.isNaN(lastModified)) {\n      this.#lastModified = lastModified\n    }\n\n    this.#name = String(fileName)\n  }\n\n  get name () {\n    return this.#name\n  }\n\n  get lastModified () {\n    return this.#lastModified\n  }\n\n  get [Symbol.toStringTag] () {\n    return 'File'\n  }\n\n  static [Symbol.hasInstance] (object) {\n    return !!object && object instanceof Blob &&\n      /^(File)$/.test(object[Symbol.toStringTag])\n  }\n}\n\n/** @type {typeof globalThis.File} */// @ts-ignore\nexport const File = _File\nexport default File\n","/*! formdata-polyfill. MIT License. Jimmy Wärting  */\n\nimport C from 'fetch-blob'\nimport F from 'fetch-blob/file.js'\n\nvar {toStringTag:t,iterator:i,hasInstance:h}=Symbol,\nr=Math.random,\nm='append,set,get,getAll,delete,keys,values,entries,forEach,constructor'.split(','),\nf=(a,b,c)=>(a+='',/^(Blob|File)$/.test(b && b[t])?[(c=c!==void 0?c+'':b[t]=='File'?b.name:'blob',a),b.name!==c||b[t]=='blob'?new F([b],c,b):b]:[a,b+'']),\ne=(c,f)=>(f?c:c.replace(/\\r?\\n|\\r/g,'\\r\\n')).replace(/\\n/g,'%0A').replace(/\\r/g,'%0D').replace(/\"/g,'%22'),\nx=(n, a, e)=>{if(a.lengthtypeof o[m]!='function')}\nappend(...a){x('append',arguments,2);this.#d.push(f(...a))}\ndelete(a){x('delete',arguments,1);a+='';this.#d=this.#d.filter(([b])=>b!==a)}\nget(a){x('get',arguments,1);a+='';for(var b=this.#d,l=b.length,c=0;cc[0]===a&&b.push(c[1]));return b}\nhas(a){x('has',arguments,1);a+='';return this.#d.some(b=>b[0]===a)}\nforEach(a,b){x('forEach',arguments,1);for(var [c,d]of this)a.call(b,d,c,this)}\nset(...a){x('set',arguments,2);var b=[],c=!0;a=f(...a);this.#d.forEach(d=>{d[0]===a[0]?c&&(c=!b.push(a)):b.push(d)});c&&b.push(a);this.#d=b}\n*entries(){yield*this.#d}\n*keys(){for(var[a]of this)yield a}\n*values(){for(var[,a]of this)yield a}}\n\n/** @param {FormData} F */\nexport function formDataToBlob (F,B=C){\nvar b=`${r()}${r()}`.replace(/\\./g, '').slice(-28).padStart(32, '-'),c=[],p=`--${b}\\r\\nContent-Disposition: form-data; name=\"`\nF.forEach((v,n)=>typeof v=='string'\n?c.push(p+e(n)+`\"\\r\\n\\r\\n${v.replace(/\\r(?!\\n)|(? */\n\nif (!globalThis.DOMException) {\n  try {\n    const { MessageChannel } = require('worker_threads'),\n    port = new MessageChannel().port1,\n    ab = new ArrayBuffer()\n    port.postMessage(ab, [ab, ab])\n  } catch (err) {\n    err.constructor.name === 'DOMException' && (\n      globalThis.DOMException = err.constructor\n    )\n  }\n}\n\nmodule.exports = globalThis.DOMException\n","import { statSync, createReadStream, promises as fs } from 'node:fs'\nimport { basename } from 'node:path'\nimport DOMException from 'node-domexception'\n\nimport File from './file.js'\nimport Blob from './index.js'\n\nconst { stat } = fs\n\n/**\n * @param {string} path filepath on the disk\n * @param {string} [type] mimetype to use\n */\nconst blobFromSync = (path, type) => fromBlob(statSync(path), path, type)\n\n/**\n * @param {string} path filepath on the disk\n * @param {string} [type] mimetype to use\n * @returns {Promise}\n */\nconst blobFrom = (path, type) => stat(path).then(stat => fromBlob(stat, path, type))\n\n/**\n * @param {string} path filepath on the disk\n * @param {string} [type] mimetype to use\n * @returns {Promise}\n */\nconst fileFrom = (path, type) => stat(path).then(stat => fromFile(stat, path, type))\n\n/**\n * @param {string} path filepath on the disk\n * @param {string} [type] mimetype to use\n */\nconst fileFromSync = (path, type) => fromFile(statSync(path), path, type)\n\n// @ts-ignore\nconst fromBlob = (stat, path, type = '') => new Blob([new BlobDataItem({\n  path,\n  size: stat.size,\n  lastModified: stat.mtimeMs,\n  start: 0\n})], { type })\n\n// @ts-ignore\nconst fromFile = (stat, path, type = '') => new File([new BlobDataItem({\n  path,\n  size: stat.size,\n  lastModified: stat.mtimeMs,\n  start: 0\n})], basename(path), { type, lastModified: stat.mtimeMs })\n\n/**\n * This is a blob backed up by a file on the disk\n * with minium requirement. Its wrapped around a Blob as a blobPart\n * so you have no direct access to this.\n *\n * @private\n */\nclass BlobDataItem {\n  #path\n  #start\n\n  constructor (options) {\n    this.#path = options.path\n    this.#start = options.start\n    this.size = options.size\n    this.lastModified = options.lastModified\n  }\n\n  /**\n   * Slicing arguments is first validated and formatted\n   * to not be out of range by Blob.prototype.slice\n   */\n  slice (start, end) {\n    return new BlobDataItem({\n      path: this.#path,\n      lastModified: this.lastModified,\n      size: end - start,\n      start: this.#start + start\n    })\n  }\n\n  async * stream () {\n    const { mtimeMs } = await stat(this.#path)\n    if (mtimeMs > this.lastModified) {\n      throw new DOMException('The requested file could not be read, typically due to permission problems that have occurred after a reference to a file was acquired.', 'NotReadableError')\n    }\n    yield * createReadStream(this.#path, {\n      start: this.#start,\n      end: this.#start + this.size - 1\n    })\n  }\n\n  get [Symbol.toStringTag] () {\n    return 'Blob'\n  }\n}\n\nexport default blobFromSync\nexport { File, Blob, blobFrom, blobFromSync, fileFrom, fileFromSync }\n","import {File} from 'fetch-blob/from.js';\nimport {FormData} from 'formdata-polyfill/esm.min.js';\n\nlet s = 0;\nconst S = {\n\tSTART_BOUNDARY: s++,\n\tHEADER_FIELD_START: s++,\n\tHEADER_FIELD: s++,\n\tHEADER_VALUE_START: s++,\n\tHEADER_VALUE: s++,\n\tHEADER_VALUE_ALMOST_DONE: s++,\n\tHEADERS_ALMOST_DONE: s++,\n\tPART_DATA_START: s++,\n\tPART_DATA: s++,\n\tEND: s++\n};\n\nlet f = 1;\nconst F = {\n\tPART_BOUNDARY: f,\n\tLAST_BOUNDARY: f *= 2\n};\n\nconst LF = 10;\nconst CR = 13;\nconst SPACE = 32;\nconst HYPHEN = 45;\nconst COLON = 58;\nconst A = 97;\nconst Z = 122;\n\nconst lower = c => c | 0x20;\n\nconst noop = () => {};\n\nclass MultipartParser {\n\t/**\n\t * @param {string} boundary\n\t */\n\tconstructor(boundary) {\n\t\tthis.index = 0;\n\t\tthis.flags = 0;\n\n\t\tthis.onHeaderEnd = noop;\n\t\tthis.onHeaderField = noop;\n\t\tthis.onHeadersEnd = noop;\n\t\tthis.onHeaderValue = noop;\n\t\tthis.onPartBegin = noop;\n\t\tthis.onPartData = noop;\n\t\tthis.onPartEnd = noop;\n\n\t\tthis.boundaryChars = {};\n\n\t\tboundary = '\\r\\n--' + boundary;\n\t\tconst ui8a = new Uint8Array(boundary.length);\n\t\tfor (let i = 0; i < boundary.length; i++) {\n\t\t\tui8a[i] = boundary.charCodeAt(i);\n\t\t\tthis.boundaryChars[ui8a[i]] = true;\n\t\t}\n\n\t\tthis.boundary = ui8a;\n\t\tthis.lookbehind = new Uint8Array(this.boundary.length + 8);\n\t\tthis.state = S.START_BOUNDARY;\n\t}\n\n\t/**\n\t * @param {Uint8Array} data\n\t */\n\twrite(data) {\n\t\tlet i = 0;\n\t\tconst length_ = data.length;\n\t\tlet previousIndex = this.index;\n\t\tlet {lookbehind, boundary, boundaryChars, index, state, flags} = this;\n\t\tconst boundaryLength = this.boundary.length;\n\t\tconst boundaryEnd = boundaryLength - 1;\n\t\tconst bufferLength = data.length;\n\t\tlet c;\n\t\tlet cl;\n\n\t\tconst mark = name => {\n\t\t\tthis[name + 'Mark'] = i;\n\t\t};\n\n\t\tconst clear = name => {\n\t\t\tdelete this[name + 'Mark'];\n\t\t};\n\n\t\tconst callback = (callbackSymbol, start, end, ui8a) => {\n\t\t\tif (start === undefined || start !== end) {\n\t\t\t\tthis[callbackSymbol](ui8a && ui8a.subarray(start, end));\n\t\t\t}\n\t\t};\n\n\t\tconst dataCallback = (name, clear) => {\n\t\t\tconst markSymbol = name + 'Mark';\n\t\t\tif (!(markSymbol in this)) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (clear) {\n\t\t\t\tcallback(name, this[markSymbol], i, data);\n\t\t\t\tdelete this[markSymbol];\n\t\t\t} else {\n\t\t\t\tcallback(name, this[markSymbol], data.length, data);\n\t\t\t\tthis[markSymbol] = 0;\n\t\t\t}\n\t\t};\n\n\t\tfor (i = 0; i < length_; i++) {\n\t\t\tc = data[i];\n\n\t\t\tswitch (state) {\n\t\t\t\tcase S.START_BOUNDARY:\n\t\t\t\t\tif (index === boundary.length - 2) {\n\t\t\t\t\t\tif (c === HYPHEN) {\n\t\t\t\t\t\t\tflags |= F.LAST_BOUNDARY;\n\t\t\t\t\t\t} else if (c !== CR) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tindex++;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t} else if (index - 1 === boundary.length - 2) {\n\t\t\t\t\t\tif (flags & F.LAST_BOUNDARY && c === HYPHEN) {\n\t\t\t\t\t\t\tstate = S.END;\n\t\t\t\t\t\t\tflags = 0;\n\t\t\t\t\t\t} else if (!(flags & F.LAST_BOUNDARY) && c === LF) {\n\t\t\t\t\t\t\tindex = 0;\n\t\t\t\t\t\t\tcallback('onPartBegin');\n\t\t\t\t\t\t\tstate = S.HEADER_FIELD_START;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (c !== boundary[index + 2]) {\n\t\t\t\t\t\tindex = -2;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (c === boundary[index + 2]) {\n\t\t\t\t\t\tindex++;\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase S.HEADER_FIELD_START:\n\t\t\t\t\tstate = S.HEADER_FIELD;\n\t\t\t\t\tmark('onHeaderField');\n\t\t\t\t\tindex = 0;\n\t\t\t\t\t// falls through\n\t\t\t\tcase S.HEADER_FIELD:\n\t\t\t\t\tif (c === CR) {\n\t\t\t\t\t\tclear('onHeaderField');\n\t\t\t\t\t\tstate = S.HEADERS_ALMOST_DONE;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\tindex++;\n\t\t\t\t\tif (c === HYPHEN) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (c === COLON) {\n\t\t\t\t\t\tif (index === 1) {\n\t\t\t\t\t\t\t// empty header field\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tdataCallback('onHeaderField', true);\n\t\t\t\t\t\tstate = S.HEADER_VALUE_START;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\tcl = lower(c);\n\t\t\t\t\tif (cl < A || cl > Z) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase S.HEADER_VALUE_START:\n\t\t\t\t\tif (c === SPACE) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\tmark('onHeaderValue');\n\t\t\t\t\tstate = S.HEADER_VALUE;\n\t\t\t\t\t// falls through\n\t\t\t\tcase S.HEADER_VALUE:\n\t\t\t\t\tif (c === CR) {\n\t\t\t\t\t\tdataCallback('onHeaderValue', true);\n\t\t\t\t\t\tcallback('onHeaderEnd');\n\t\t\t\t\t\tstate = S.HEADER_VALUE_ALMOST_DONE;\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase S.HEADER_VALUE_ALMOST_DONE:\n\t\t\t\t\tif (c !== LF) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tstate = S.HEADER_FIELD_START;\n\t\t\t\t\tbreak;\n\t\t\t\tcase S.HEADERS_ALMOST_DONE:\n\t\t\t\t\tif (c !== LF) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tcallback('onHeadersEnd');\n\t\t\t\t\tstate = S.PART_DATA_START;\n\t\t\t\t\tbreak;\n\t\t\t\tcase S.PART_DATA_START:\n\t\t\t\t\tstate = S.PART_DATA;\n\t\t\t\t\tmark('onPartData');\n\t\t\t\t\t// falls through\n\t\t\t\tcase S.PART_DATA:\n\t\t\t\t\tpreviousIndex = index;\n\n\t\t\t\t\tif (index === 0) {\n\t\t\t\t\t\t// boyer-moore derrived algorithm to safely skip non-boundary data\n\t\t\t\t\t\ti += boundaryEnd;\n\t\t\t\t\t\twhile (i < bufferLength && !(data[i] in boundaryChars)) {\n\t\t\t\t\t\t\ti += boundaryLength;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\ti -= boundaryEnd;\n\t\t\t\t\t\tc = data[i];\n\t\t\t\t\t}\n\n\t\t\t\t\tif (index < boundary.length) {\n\t\t\t\t\t\tif (boundary[index] === c) {\n\t\t\t\t\t\t\tif (index === 0) {\n\t\t\t\t\t\t\t\tdataCallback('onPartData', true);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tindex++;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tindex = 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (index === boundary.length) {\n\t\t\t\t\t\tindex++;\n\t\t\t\t\t\tif (c === CR) {\n\t\t\t\t\t\t\t// CR = part boundary\n\t\t\t\t\t\t\tflags |= F.PART_BOUNDARY;\n\t\t\t\t\t\t} else if (c === HYPHEN) {\n\t\t\t\t\t\t\t// HYPHEN = end boundary\n\t\t\t\t\t\t\tflags |= F.LAST_BOUNDARY;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tindex = 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (index - 1 === boundary.length) {\n\t\t\t\t\t\tif (flags & F.PART_BOUNDARY) {\n\t\t\t\t\t\t\tindex = 0;\n\t\t\t\t\t\t\tif (c === LF) {\n\t\t\t\t\t\t\t\t// unset the PART_BOUNDARY flag\n\t\t\t\t\t\t\t\tflags &= ~F.PART_BOUNDARY;\n\t\t\t\t\t\t\t\tcallback('onPartEnd');\n\t\t\t\t\t\t\t\tcallback('onPartBegin');\n\t\t\t\t\t\t\t\tstate = S.HEADER_FIELD_START;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else if (flags & F.LAST_BOUNDARY) {\n\t\t\t\t\t\t\tif (c === HYPHEN) {\n\t\t\t\t\t\t\t\tcallback('onPartEnd');\n\t\t\t\t\t\t\t\tstate = S.END;\n\t\t\t\t\t\t\t\tflags = 0;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tindex = 0;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tindex = 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (index > 0) {\n\t\t\t\t\t\t// when matching a possible boundary, keep a lookbehind reference\n\t\t\t\t\t\t// in case it turns out to be a false lead\n\t\t\t\t\t\tlookbehind[index - 1] = c;\n\t\t\t\t\t} else if (previousIndex > 0) {\n\t\t\t\t\t\t// if our boundary turned out to be rubbish, the captured lookbehind\n\t\t\t\t\t\t// belongs to partData\n\t\t\t\t\t\tconst _lookbehind = new Uint8Array(lookbehind.buffer, lookbehind.byteOffset, lookbehind.byteLength);\n\t\t\t\t\t\tcallback('onPartData', 0, previousIndex, _lookbehind);\n\t\t\t\t\t\tpreviousIndex = 0;\n\t\t\t\t\t\tmark('onPartData');\n\n\t\t\t\t\t\t// reconsider the current character even so it interrupted the sequence\n\t\t\t\t\t\t// it could be the beginning of a new sequence\n\t\t\t\t\t\ti--;\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase S.END:\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new Error(`Unexpected state entered: ${state}`);\n\t\t\t}\n\t\t}\n\n\t\tdataCallback('onHeaderField');\n\t\tdataCallback('onHeaderValue');\n\t\tdataCallback('onPartData');\n\n\t\t// Update properties for the next call\n\t\tthis.index = index;\n\t\tthis.state = state;\n\t\tthis.flags = flags;\n\t}\n\n\tend() {\n\t\tif ((this.state === S.HEADER_FIELD_START && this.index === 0) ||\n\t\t\t(this.state === S.PART_DATA && this.index === this.boundary.length)) {\n\t\t\tthis.onPartEnd();\n\t\t} else if (this.state !== S.END) {\n\t\t\tthrow new Error('MultipartParser.end(): stream ended unexpectedly');\n\t\t}\n\t}\n}\n\nfunction _fileName(headerValue) {\n\t// matches either a quoted-string or a token (RFC 2616 section 19.5.1)\n\tconst m = headerValue.match(/\\bfilename=(\"(.*?)\"|([^()<>@,;:\\\\\"/[\\]?={}\\s\\t]+))($|;\\s)/i);\n\tif (!m) {\n\t\treturn;\n\t}\n\n\tconst match = m[2] || m[3] || '';\n\tlet filename = match.slice(match.lastIndexOf('\\\\') + 1);\n\tfilename = filename.replace(/%22/g, '\"');\n\tfilename = filename.replace(/&#(\\d{4});/g, (m, code) => {\n\t\treturn String.fromCharCode(code);\n\t});\n\treturn filename;\n}\n\nexport async function toFormData(Body, ct) {\n\tif (!/multipart/i.test(ct)) {\n\t\tthrow new TypeError('Failed to fetch');\n\t}\n\n\tconst m = ct.match(/boundary=(?:\"([^\"]+)\"|([^;]+))/i);\n\n\tif (!m) {\n\t\tthrow new TypeError('no or bad content-type header, no multipart boundary');\n\t}\n\n\tconst parser = new MultipartParser(m[1] || m[2]);\n\n\tlet headerField;\n\tlet headerValue;\n\tlet entryValue;\n\tlet entryName;\n\tlet contentType;\n\tlet filename;\n\tconst entryChunks = [];\n\tconst formData = new FormData();\n\n\tconst onPartData = ui8a => {\n\t\tentryValue += decoder.decode(ui8a, {stream: true});\n\t};\n\n\tconst appendToFile = ui8a => {\n\t\tentryChunks.push(ui8a);\n\t};\n\n\tconst appendFileToFormData = () => {\n\t\tconst file = new File(entryChunks, filename, {type: contentType});\n\t\tformData.append(entryName, file);\n\t};\n\n\tconst appendEntryToFormData = () => {\n\t\tformData.append(entryName, entryValue);\n\t};\n\n\tconst decoder = new TextDecoder('utf-8');\n\tdecoder.decode();\n\n\tparser.onPartBegin = function () {\n\t\tparser.onPartData = onPartData;\n\t\tparser.onPartEnd = appendEntryToFormData;\n\n\t\theaderField = '';\n\t\theaderValue = '';\n\t\tentryValue = '';\n\t\tentryName = '';\n\t\tcontentType = '';\n\t\tfilename = null;\n\t\tentryChunks.length = 0;\n\t};\n\n\tparser.onHeaderField = function (ui8a) {\n\t\theaderField += decoder.decode(ui8a, {stream: true});\n\t};\n\n\tparser.onHeaderValue = function (ui8a) {\n\t\theaderValue += decoder.decode(ui8a, {stream: true});\n\t};\n\n\tparser.onHeaderEnd = function () {\n\t\theaderValue += decoder.decode();\n\t\theaderField = headerField.toLowerCase();\n\n\t\tif (headerField === 'content-disposition') {\n\t\t\t// matches either a quoted-string or a token (RFC 2616 section 19.5.1)\n\t\t\tconst m = headerValue.match(/\\bname=(\"([^\"]*)\"|([^()<>@,;:\\\\\"/[\\]?={}\\s\\t]+))/i);\n\n\t\t\tif (m) {\n\t\t\t\tentryName = m[2] || m[3] || '';\n\t\t\t}\n\n\t\t\tfilename = _fileName(headerValue);\n\n\t\t\tif (filename) {\n\t\t\t\tparser.onPartData = appendToFile;\n\t\t\t\tparser.onPartEnd = appendFileToFormData;\n\t\t\t}\n\t\t} else if (headerField === 'content-type') {\n\t\t\tcontentType = headerValue;\n\t\t}\n\n\t\theaderValue = '';\n\t\theaderField = '';\n\t};\n\n\tfor await (const chunk of Body) {\n\t\tparser.write(chunk);\n\t}\n\n\tparser.end();\n\n\treturn formData;\n}\n","import { context } from '@actions/github'\nimport { Chalk } from 'chalk'\nimport { debug } from '@actions/core'\n\nimport { calculateReviewToDismiss } from './calculate-reviews-to-dismiss.ts'\nimport { dismissReviews } from './dismiss-reviews.ts'\nimport { getPrData } from './get-pr-data.ts'\nimport { getOctokit } from './get-octokit.ts'\nimport { getInputs } from './get-inputs.ts'\n\nconst chalk = new Chalk({ level: 2 })\n\nconst run = async () => {\n  const { ghToken, ignoreFiles, noOwnerAction, forcePushAction } = getInputs()\n\n  const pullRequestContext = context.payload.pull_request\n  if (!pullRequestContext) {\n    throw new Error(\n      'No pull_request context found. The action must be triggered by pull_request event.',\n    )\n  }\n\n  const pullRequestId = pullRequestContext.node_id as string\n\n  const octokit = getOctokit({ ghToken })\n\n  const {\n    commits: [{ commit: head }],\n    latestReviews,\n  } = await getPrData({\n    octokit,\n    pullRequestId,\n  })\n\n  const latestApprovedReviews = latestReviews.filter(\n    ({ state, publishedAt, commit }) =>\n      commit &&\n      state === 'APPROVED' &&\n      publishedAt &&\n      publishedAt < head.committedDate,\n  )\n\n  debug(`Approving reviews: ${JSON.stringify(latestApprovedReviews, null, 2)}`)\n\n  if (!latestApprovedReviews.length) {\n    console.log(chalk.green`No reviews to dismiss!`)\n\n    return\n  }\n\n  try {\n    const reviewsToDismissContext = await calculateReviewToDismiss({\n      octokit,\n      headCommit: head.abbreviatedOid,\n      latestReviews: latestApprovedReviews,\n      baseBranch: context.payload.pull_request?.base.ref as string,\n      ignoreFiles,\n    })\n\n    const reviewsToDismiss = reviewsToDismissContext.filesWithoutOwner\n      ? latestApprovedReviews\n      : reviewsToDismissContext.reviewsToDismiss\n\n    if (!reviewsToDismiss.length) {\n      console.log(chalk.green`No reviews to dismiss!`)\n\n      return\n    }\n\n    debug(`Reviews to dismiss: ${JSON.stringify(reviewsToDismiss, null, 2)}`)\n\n    console.log(\n      chalk.green`Reviews to dismiss: ${reviewsToDismiss\n        .map(({ author }) => author?.login || 'unknownLogin')\n        .join()}`,\n    )\n\n    // if there are any files without owner, dismiss all reviews\n    if (reviewsToDismissContext.filesWithoutOwner) {\n      console.log(\n        chalk.yellow(\n          'Files without owner:\\n',\n          reviewsToDismissContext.filesWithoutOwner.join('/n'),\n        ),\n      )\n\n      if (noOwnerAction === 'dismiss-none') {\n        console.log(\n          chalk.yellow(\n            '\"no-owner-action\" is set to \"dismiss-none\", so no reviews are dismissed.',\n          ),\n        )\n\n        return\n      }\n\n      await dismissReviews({\n        octokit,\n        reviewsToDismiss: latestApprovedReviews,\n        message: `\n          
\n Because some files don’t have owner, all reviews are dismissed.\n

\n\n If you know who should own following files, consider adding the owner to \\`.github/CODEOWNERS\\` file.\n\n - \\`${reviewsToDismissContext.filesWithoutOwner\n .join('`\\n- `')\n .replace(/_/g, '_')}\\`\n\n

\n
\n `.replace(/ +/g, ' '),\n })\n // if there are some files without history let the users know and dismiss reviews calculated for dismiss\n } else if (reviewsToDismissContext.reviewsWithoutHistory.length) {\n console.log(\n chalk.yellow(\n `Files diff can't be resolved for following reviews due to force push:\\n${reviewsToDismissContext.reviewsWithoutHistory\n .map(({ author }) => author?.login)\n .join('\\n')}\\n`,\n ),\n )\n\n if (forcePushAction === 'dismiss-none') {\n console.log(\n chalk.yellow(\n '\"force-push-action\" is set to \"dismiss-none\", so no reviews are dismissed.',\n ),\n )\n\n return\n }\n\n await dismissReviews({\n octokit,\n reviewsToDismiss: reviewsToDismissContext.reviewsToDismiss,\n message: `\n
\n Following reviews were removed because related commit was overwritten by force push.\n

\n \n - \\`${reviewsToDismissContext.reviewsWithoutHistory\n .map(({ author }) => author?.login)\n .join('`\\n- `')}\\`\n \n

\n
\n `.replace(/ +/g, ' '),\n })\n } else {\n await dismissReviews({\n octokit,\n reviewsToDismiss: reviewsToDismissContext.reviewsToDismiss,\n message: 'Stale reviews were dismissed based on ownership',\n })\n }\n } catch (e) {\n console.error(e)\n await dismissReviews({\n octokit,\n message:\n 'Some error occurred in `dismiss-stale-reviews` action, all reviews are dismissed.',\n reviewsToDismiss: latestApprovedReviews,\n })\n }\n}\n\nrun()\n","const ANSI_BACKGROUND_OFFSET = 10;\n\nconst wrapAnsi16 = (offset = 0) => code => `\\u001B[${code + offset}m`;\n\nconst wrapAnsi256 = (offset = 0) => code => `\\u001B[${38 + offset};5;${code}m`;\n\nconst wrapAnsi16m = (offset = 0) => (red, green, blue) => `\\u001B[${38 + offset};2;${red};${green};${blue}m`;\n\nconst styles = {\n\tmodifier: {\n\t\treset: [0, 0],\n\t\t// 21 isn't widely supported and 22 does the same thing\n\t\tbold: [1, 22],\n\t\tdim: [2, 22],\n\t\titalic: [3, 23],\n\t\tunderline: [4, 24],\n\t\toverline: [53, 55],\n\t\tinverse: [7, 27],\n\t\thidden: [8, 28],\n\t\tstrikethrough: [9, 29],\n\t},\n\tcolor: {\n\t\tblack: [30, 39],\n\t\tred: [31, 39],\n\t\tgreen: [32, 39],\n\t\tyellow: [33, 39],\n\t\tblue: [34, 39],\n\t\tmagenta: [35, 39],\n\t\tcyan: [36, 39],\n\t\twhite: [37, 39],\n\n\t\t// Bright color\n\t\tblackBright: [90, 39],\n\t\tgray: [90, 39], // Alias of `blackBright`\n\t\tgrey: [90, 39], // Alias of `blackBright`\n\t\tredBright: [91, 39],\n\t\tgreenBright: [92, 39],\n\t\tyellowBright: [93, 39],\n\t\tblueBright: [94, 39],\n\t\tmagentaBright: [95, 39],\n\t\tcyanBright: [96, 39],\n\t\twhiteBright: [97, 39],\n\t},\n\tbgColor: {\n\t\tbgBlack: [40, 49],\n\t\tbgRed: [41, 49],\n\t\tbgGreen: [42, 49],\n\t\tbgYellow: [43, 49],\n\t\tbgBlue: [44, 49],\n\t\tbgMagenta: [45, 49],\n\t\tbgCyan: [46, 49],\n\t\tbgWhite: [47, 49],\n\n\t\t// Bright color\n\t\tbgBlackBright: [100, 49],\n\t\tbgGray: [100, 49], // Alias of `bgBlackBright`\n\t\tbgGrey: [100, 49], // Alias of `bgBlackBright`\n\t\tbgRedBright: [101, 49],\n\t\tbgGreenBright: [102, 49],\n\t\tbgYellowBright: [103, 49],\n\t\tbgBlueBright: [104, 49],\n\t\tbgMagentaBright: [105, 49],\n\t\tbgCyanBright: [106, 49],\n\t\tbgWhiteBright: [107, 49],\n\t},\n};\n\nexport const modifierNames = Object.keys(styles.modifier);\nexport const foregroundColorNames = Object.keys(styles.color);\nexport const backgroundColorNames = Object.keys(styles.bgColor);\nexport const colorNames = [...foregroundColorNames, ...backgroundColorNames];\n\nfunction assembleStyles() {\n\tconst codes = new Map();\n\n\tfor (const [groupName, group] of Object.entries(styles)) {\n\t\tfor (const [styleName, style] of Object.entries(group)) {\n\t\t\tstyles[styleName] = {\n\t\t\t\topen: `\\u001B[${style[0]}m`,\n\t\t\t\tclose: `\\u001B[${style[1]}m`,\n\t\t\t};\n\n\t\t\tgroup[styleName] = styles[styleName];\n\n\t\t\tcodes.set(style[0], style[1]);\n\t\t}\n\n\t\tObject.defineProperty(styles, groupName, {\n\t\t\tvalue: group,\n\t\t\tenumerable: false,\n\t\t});\n\t}\n\n\tObject.defineProperty(styles, 'codes', {\n\t\tvalue: codes,\n\t\tenumerable: false,\n\t});\n\n\tstyles.color.close = '\\u001B[39m';\n\tstyles.bgColor.close = '\\u001B[49m';\n\n\tstyles.color.ansi = wrapAnsi16();\n\tstyles.color.ansi256 = wrapAnsi256();\n\tstyles.color.ansi16m = wrapAnsi16m();\n\tstyles.bgColor.ansi = wrapAnsi16(ANSI_BACKGROUND_OFFSET);\n\tstyles.bgColor.ansi256 = wrapAnsi256(ANSI_BACKGROUND_OFFSET);\n\tstyles.bgColor.ansi16m = wrapAnsi16m(ANSI_BACKGROUND_OFFSET);\n\n\t// From https://github.com/Qix-/color-convert/blob/3f0e0d4e92e235796ccb17f6e85c72094a651f49/conversions.js\n\tObject.defineProperties(styles, {\n\t\trgbToAnsi256: {\n\t\t\tvalue(red, green, blue) {\n\t\t\t\t// We use the extended greyscale palette here, with the exception of\n\t\t\t\t// black and white. normal palette only has 4 greyscale shades.\n\t\t\t\tif (red === green && green === blue) {\n\t\t\t\t\tif (red < 8) {\n\t\t\t\t\t\treturn 16;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (red > 248) {\n\t\t\t\t\t\treturn 231;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn Math.round(((red - 8) / 247) * 24) + 232;\n\t\t\t\t}\n\n\t\t\t\treturn 16\n\t\t\t\t\t+ (36 * Math.round(red / 255 * 5))\n\t\t\t\t\t+ (6 * Math.round(green / 255 * 5))\n\t\t\t\t\t+ Math.round(blue / 255 * 5);\n\t\t\t},\n\t\t\tenumerable: false,\n\t\t},\n\t\thexToRgb: {\n\t\t\tvalue(hex) {\n\t\t\t\tconst matches = /[a-f\\d]{6}|[a-f\\d]{3}/i.exec(hex.toString(16));\n\t\t\t\tif (!matches) {\n\t\t\t\t\treturn [0, 0, 0];\n\t\t\t\t}\n\n\t\t\t\tlet [colorString] = matches;\n\n\t\t\t\tif (colorString.length === 3) {\n\t\t\t\t\tcolorString = [...colorString].map(character => character + character).join('');\n\t\t\t\t}\n\n\t\t\t\tconst integer = Number.parseInt(colorString, 16);\n\n\t\t\t\treturn [\n\t\t\t\t\t/* eslint-disable no-bitwise */\n\t\t\t\t\t(integer >> 16) & 0xFF,\n\t\t\t\t\t(integer >> 8) & 0xFF,\n\t\t\t\t\tinteger & 0xFF,\n\t\t\t\t\t/* eslint-enable no-bitwise */\n\t\t\t\t];\n\t\t\t},\n\t\t\tenumerable: false,\n\t\t},\n\t\thexToAnsi256: {\n\t\t\tvalue: hex => styles.rgbToAnsi256(...styles.hexToRgb(hex)),\n\t\t\tenumerable: false,\n\t\t},\n\t\tansi256ToAnsi: {\n\t\t\tvalue(code) {\n\t\t\t\tif (code < 8) {\n\t\t\t\t\treturn 30 + code;\n\t\t\t\t}\n\n\t\t\t\tif (code < 16) {\n\t\t\t\t\treturn 90 + (code - 8);\n\t\t\t\t}\n\n\t\t\t\tlet red;\n\t\t\t\tlet green;\n\t\t\t\tlet blue;\n\n\t\t\t\tif (code >= 232) {\n\t\t\t\t\tred = (((code - 232) * 10) + 8) / 255;\n\t\t\t\t\tgreen = red;\n\t\t\t\t\tblue = red;\n\t\t\t\t} else {\n\t\t\t\t\tcode -= 16;\n\n\t\t\t\t\tconst remainder = code % 36;\n\n\t\t\t\t\tred = Math.floor(code / 36) / 5;\n\t\t\t\t\tgreen = Math.floor(remainder / 6) / 5;\n\t\t\t\t\tblue = (remainder % 6) / 5;\n\t\t\t\t}\n\n\t\t\t\tconst value = Math.max(red, green, blue) * 2;\n\n\t\t\t\tif (value === 0) {\n\t\t\t\t\treturn 30;\n\t\t\t\t}\n\n\t\t\t\t// eslint-disable-next-line no-bitwise\n\t\t\t\tlet result = 30 + ((Math.round(blue) << 2) | (Math.round(green) << 1) | Math.round(red));\n\n\t\t\t\tif (value === 2) {\n\t\t\t\t\tresult += 60;\n\t\t\t\t}\n\n\t\t\t\treturn result;\n\t\t\t},\n\t\t\tenumerable: false,\n\t\t},\n\t\trgbToAnsi: {\n\t\t\tvalue: (red, green, blue) => styles.ansi256ToAnsi(styles.rgbToAnsi256(red, green, blue)),\n\t\t\tenumerable: false,\n\t\t},\n\t\thexToAnsi: {\n\t\t\tvalue: hex => styles.ansi256ToAnsi(styles.hexToAnsi256(hex)),\n\t\t\tenumerable: false,\n\t\t},\n\t});\n\n\treturn styles;\n}\n\nconst ansiStyles = assembleStyles();\n\nexport default ansiStyles;\n","import process from 'node:process';\nimport os from 'node:os';\nimport tty from 'node:tty';\n\n// From: https://github.com/sindresorhus/has-flag/blob/main/index.js\n/// function hasFlag(flag, argv = globalThis.Deno?.args ?? process.argv) {\nfunction hasFlag(flag, argv = globalThis.Deno ? globalThis.Deno.args : process.argv) {\n\tconst prefix = flag.startsWith('-') ? '' : (flag.length === 1 ? '-' : '--');\n\tconst position = argv.indexOf(prefix + flag);\n\tconst terminatorPosition = argv.indexOf('--');\n\treturn position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);\n}\n\nconst {env} = process;\n\nlet flagForceColor;\nif (\n\thasFlag('no-color')\n\t|| hasFlag('no-colors')\n\t|| hasFlag('color=false')\n\t|| hasFlag('color=never')\n) {\n\tflagForceColor = 0;\n} else if (\n\thasFlag('color')\n\t|| hasFlag('colors')\n\t|| hasFlag('color=true')\n\t|| hasFlag('color=always')\n) {\n\tflagForceColor = 1;\n}\n\nfunction envForceColor() {\n\tif ('FORCE_COLOR' in env) {\n\t\tif (env.FORCE_COLOR === 'true') {\n\t\t\treturn 1;\n\t\t}\n\n\t\tif (env.FORCE_COLOR === 'false') {\n\t\t\treturn 0;\n\t\t}\n\n\t\treturn env.FORCE_COLOR.length === 0 ? 1 : Math.min(Number.parseInt(env.FORCE_COLOR, 10), 3);\n\t}\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(haveStream, {streamIsTTY, sniffFlags = true} = {}) {\n\tconst noFlagForceColor = envForceColor();\n\tif (noFlagForceColor !== undefined) {\n\t\tflagForceColor = noFlagForceColor;\n\t}\n\n\tconst forceColor = sniffFlags ? flagForceColor : noFlagForceColor;\n\n\tif (forceColor === 0) {\n\t\treturn 0;\n\t}\n\n\tif (sniffFlags) {\n\t\tif (hasFlag('color=16m')\n\t\t\t|| hasFlag('color=full')\n\t\t\t|| hasFlag('color=truecolor')) {\n\t\t\treturn 3;\n\t\t}\n\n\t\tif (hasFlag('color=256')) {\n\t\t\treturn 2;\n\t\t}\n\t}\n\n\t// Check for Azure DevOps pipelines.\n\t// Has to be above the `!streamIsTTY` check.\n\tif ('TF_BUILD' in env && 'AGENT_NAME' in env) {\n\t\treturn 1;\n\t}\n\n\tif (haveStream && !streamIsTTY && forceColor === undefined) {\n\t\treturn 0;\n\t}\n\n\tconst min = forceColor || 0;\n\n\tif (env.TERM === 'dumb') {\n\t\treturn min;\n\t}\n\n\tif (process.platform === 'win32') {\n\t\t// Windows 10 build 10586 is the first Windows release that supports 256 colors.\n\t\t// Windows 10 build 14931 is the first release that supports 16m/TrueColor.\n\t\tconst osRelease = os.release().split('.');\n\t\tif (\n\t\t\tNumber(osRelease[0]) >= 10\n\t\t\t&& Number(osRelease[2]) >= 10_586\n\t\t) {\n\t\t\treturn Number(osRelease[2]) >= 14_931 ? 3 : 2;\n\t\t}\n\n\t\treturn 1;\n\t}\n\n\tif ('CI' in env) {\n\t\tif ('GITHUB_ACTIONS' in env || 'GITEA_ACTIONS' in env) {\n\t\t\treturn 3;\n\t\t}\n\n\t\tif (['TRAVIS', 'CIRCLECI', 'APPVEYOR', 'GITLAB_CI', 'BUILDKITE', 'DRONE'].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 (env.TERM === 'xterm-kitty') {\n\t\treturn 3;\n\t}\n\n\tif ('TERM_PROGRAM' in env) {\n\t\tconst version = Number.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\t}\n\n\t\t\tcase 'Apple_Terminal': {\n\t\t\t\treturn 2;\n\t\t\t}\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\treturn min;\n}\n\nexport function createSupportsColor(stream, options = {}) {\n\tconst level = _supportsColor(stream, {\n\t\tstreamIsTTY: stream && stream.isTTY,\n\t\t...options,\n\t});\n\n\treturn translateLevel(level);\n}\n\nconst supportsColor = {\n\tstdout: createSupportsColor({isTTY: tty.isatty(1)}),\n\tstderr: createSupportsColor({isTTY: tty.isatty(2)}),\n};\n\nexport default supportsColor;\n","// TODO: When targeting Node.js 16, use `String.prototype.replaceAll`.\nexport function stringReplaceAll(string, substring, replacer) {\n\tlet index = string.indexOf(substring);\n\tif (index === -1) {\n\t\treturn string;\n\t}\n\n\tconst substringLength = substring.length;\n\tlet endIndex = 0;\n\tlet returnValue = '';\n\tdo {\n\t\treturnValue += string.slice(endIndex, index) + substring + replacer;\n\t\tendIndex = index + substringLength;\n\t\tindex = string.indexOf(substring, endIndex);\n\t} while (index !== -1);\n\n\treturnValue += string.slice(endIndex);\n\treturn returnValue;\n}\n\nexport function stringEncaseCRLFWithFirstIndex(string, prefix, postfix, index) {\n\tlet endIndex = 0;\n\tlet returnValue = '';\n\tdo {\n\t\tconst gotCR = string[index - 1] === '\\r';\n\t\treturnValue += string.slice(endIndex, (gotCR ? index - 1 : index)) + prefix + (gotCR ? '\\r\\n' : '\\n') + postfix;\n\t\tendIndex = index + 1;\n\t\tindex = string.indexOf('\\n', endIndex);\n\t} while (index !== -1);\n\n\treturnValue += string.slice(endIndex);\n\treturn returnValue;\n}\n","import ansiStyles from '#ansi-styles';\nimport supportsColor from '#supports-color';\nimport { // eslint-disable-line import/order\n\tstringReplaceAll,\n\tstringEncaseCRLFWithFirstIndex,\n} from './utilities.js';\n\nconst {stdout: stdoutColor, stderr: stderrColor} = supportsColor;\n\nconst GENERATOR = Symbol('GENERATOR');\nconst STYLER = Symbol('STYLER');\nconst IS_EMPTY = Symbol('IS_EMPTY');\n\n// `supportsColor.level` → `ansiStyles.color[name]` mapping\nconst levelMapping = [\n\t'ansi',\n\t'ansi',\n\t'ansi256',\n\t'ansi16m',\n];\n\nconst styles = Object.create(null);\n\nconst applyOptions = (object, options = {}) => {\n\tif (options.level && !(Number.isInteger(options.level) && options.level >= 0 && options.level <= 3)) {\n\t\tthrow new Error('The `level` option should be an integer from 0 to 3');\n\t}\n\n\t// Detect level if not set manually\n\tconst colorLevel = stdoutColor ? stdoutColor.level : 0;\n\tobject.level = options.level === undefined ? colorLevel : options.level;\n};\n\nexport class Chalk {\n\tconstructor(options) {\n\t\t// eslint-disable-next-line no-constructor-return\n\t\treturn chalkFactory(options);\n\t}\n}\n\nconst chalkFactory = options => {\n\tconst chalk = (...strings) => strings.join(' ');\n\tapplyOptions(chalk, options);\n\n\tObject.setPrototypeOf(chalk, createChalk.prototype);\n\n\treturn chalk;\n};\n\nfunction createChalk(options) {\n\treturn chalkFactory(options);\n}\n\nObject.setPrototypeOf(createChalk.prototype, Function.prototype);\n\nfor (const [styleName, style] of Object.entries(ansiStyles)) {\n\tstyles[styleName] = {\n\t\tget() {\n\t\t\tconst builder = createBuilder(this, createStyler(style.open, style.close, this[STYLER]), this[IS_EMPTY]);\n\t\t\tObject.defineProperty(this, styleName, {value: builder});\n\t\t\treturn builder;\n\t\t},\n\t};\n}\n\nstyles.visible = {\n\tget() {\n\t\tconst builder = createBuilder(this, this[STYLER], true);\n\t\tObject.defineProperty(this, 'visible', {value: builder});\n\t\treturn builder;\n\t},\n};\n\nconst getModelAnsi = (model, level, type, ...arguments_) => {\n\tif (model === 'rgb') {\n\t\tif (level === 'ansi16m') {\n\t\t\treturn ansiStyles[type].ansi16m(...arguments_);\n\t\t}\n\n\t\tif (level === 'ansi256') {\n\t\t\treturn ansiStyles[type].ansi256(ansiStyles.rgbToAnsi256(...arguments_));\n\t\t}\n\n\t\treturn ansiStyles[type].ansi(ansiStyles.rgbToAnsi(...arguments_));\n\t}\n\n\tif (model === 'hex') {\n\t\treturn getModelAnsi('rgb', level, type, ...ansiStyles.hexToRgb(...arguments_));\n\t}\n\n\treturn ansiStyles[type][model](...arguments_);\n};\n\nconst usedModels = ['rgb', 'hex', 'ansi256'];\n\nfor (const model of usedModels) {\n\tstyles[model] = {\n\t\tget() {\n\t\t\tconst {level} = this;\n\t\t\treturn function (...arguments_) {\n\t\t\t\tconst styler = createStyler(getModelAnsi(model, levelMapping[level], 'color', ...arguments_), ansiStyles.color.close, this[STYLER]);\n\t\t\t\treturn createBuilder(this, styler, this[IS_EMPTY]);\n\t\t\t};\n\t\t},\n\t};\n\n\tconst bgModel = 'bg' + model[0].toUpperCase() + model.slice(1);\n\tstyles[bgModel] = {\n\t\tget() {\n\t\t\tconst {level} = this;\n\t\t\treturn function (...arguments_) {\n\t\t\t\tconst styler = createStyler(getModelAnsi(model, levelMapping[level], 'bgColor', ...arguments_), ansiStyles.bgColor.close, this[STYLER]);\n\t\t\t\treturn createBuilder(this, styler, this[IS_EMPTY]);\n\t\t\t};\n\t\t},\n\t};\n}\n\nconst proto = Object.defineProperties(() => {}, {\n\t...styles,\n\tlevel: {\n\t\tenumerable: true,\n\t\tget() {\n\t\t\treturn this[GENERATOR].level;\n\t\t},\n\t\tset(level) {\n\t\t\tthis[GENERATOR].level = level;\n\t\t},\n\t},\n});\n\nconst createStyler = (open, close, parent) => {\n\tlet openAll;\n\tlet closeAll;\n\tif (parent === undefined) {\n\t\topenAll = open;\n\t\tcloseAll = close;\n\t} else {\n\t\topenAll = parent.openAll + open;\n\t\tcloseAll = close + parent.closeAll;\n\t}\n\n\treturn {\n\t\topen,\n\t\tclose,\n\t\topenAll,\n\t\tcloseAll,\n\t\tparent,\n\t};\n};\n\nconst createBuilder = (self, _styler, _isEmpty) => {\n\t// Single argument is hot path, implicit coercion is faster than anything\n\t// eslint-disable-next-line no-implicit-coercion\n\tconst builder = (...arguments_) => applyStyle(builder, (arguments_.length === 1) ? ('' + arguments_[0]) : arguments_.join(' '));\n\n\t// We alter the prototype because we must return a function, but there is\n\t// no way to create a function with a different prototype\n\tObject.setPrototypeOf(builder, proto);\n\n\tbuilder[GENERATOR] = self;\n\tbuilder[STYLER] = _styler;\n\tbuilder[IS_EMPTY] = _isEmpty;\n\n\treturn builder;\n};\n\nconst applyStyle = (self, string) => {\n\tif (self.level <= 0 || !string) {\n\t\treturn self[IS_EMPTY] ? '' : string;\n\t}\n\n\tlet styler = self[STYLER];\n\n\tif (styler === undefined) {\n\t\treturn string;\n\t}\n\n\tconst {openAll, closeAll} = styler;\n\tif (string.includes('\\u001B')) {\n\t\twhile (styler !== undefined) {\n\t\t\t// Replace any instances already present with a re-opening code\n\t\t\t// otherwise only the part of the string until said closing code\n\t\t\t// will be colored, and the rest will simply be 'plain'.\n\t\t\tstring = stringReplaceAll(string, styler.close, styler.open);\n\n\t\t\tstyler = styler.parent;\n\t\t}\n\t}\n\n\t// We can move both next actions out of loop, because remaining actions in loop won't have\n\t// any/visible effect on parts we add here. Close the styling before a linebreak and reopen\n\t// after next line to fix a bleed issue on macOS: https://github.com/chalk/chalk/pull/92\n\tconst lfIndex = string.indexOf('\\n');\n\tif (lfIndex !== -1) {\n\t\tstring = stringEncaseCRLFWithFirstIndex(string, closeAll, openAll, lfIndex);\n\t}\n\n\treturn openAll + string + closeAll;\n};\n\nObject.defineProperties(createChalk.prototype, styles);\n\nconst chalk = createChalk();\nexport const chalkStderr = createChalk({level: stderrColor ? stderrColor.level : 0});\n\nexport {\n\tmodifierNames,\n\tforegroundColorNames,\n\tbackgroundColorNames,\n\tcolorNames,\n\n\t// TODO: Remove these aliases in the next major version\n\tmodifierNames as modifiers,\n\tforegroundColorNames as foregroundColors,\n\tbackgroundColorNames as backgroundColors,\n\tcolorNames as colors,\n} from './vendor/ansi-styles/index.js';\n\nexport {\n\tstdoutColor as supportsColor,\n\tstderrColor as supportsColorStderr,\n};\n\nexport default chalk;\n","import { debug } from '@actions/core'\nimport { groupReviewsByCommit } from './group-reviews-by-commit.ts'\nimport { getOctokit } from './get-octokit.ts'\nimport { getTeamData } from './get-team-data.ts'\n\nexport type Review = {\n author: {\n login: string\n } | null\n commit: {\n abbreviatedOid: string\n } | null\n}\n\nexport const calculateReviewToDismiss = async ({\n latestReviews,\n headCommit,\n baseBranch,\n ignoreFiles,\n octokit,\n}: {\n latestReviews: TReview[]\n headCommit: string\n baseBranch: string\n ignoreFiles?: string[]\n octokit: ReturnType\n}) => {\n const { groupedReviewsByCommit, reviewsWithoutHistory } =\n await groupReviewsByCommit({\n latestReviews,\n headCommit,\n baseBranch,\n ignoreFiles,\n })\n\n const filesWithoutOwner = [\n ...new Set(\n Object.values(groupedReviewsByCommit)\n .map(({ filesChangedByHeadCommit }) =>\n filesChangedByHeadCommit\n .filter(({ owners }) => !owners.length)\n .map(({ filename }) => filename),\n )\n .flat(),\n ),\n ]\n\n // if there are some files without owner, we are not able to assign a review to those files\n // and because of that we need to dismiss all reviews\n if (filesWithoutOwner.length) {\n return {\n filesWithoutOwner,\n }\n }\n\n const reviewsToDismiss: typeof latestReviews = [...reviewsWithoutHistory]\n\n const teamMembers: Record = {}\n\n for (const { filesChangedByHeadCommit, reviews } of Object.values(\n groupedReviewsByCommit,\n )) {\n // list of unique file owners\n const changedFilesOwners = [\n ...new Set(filesChangedByHeadCommit.map(({ owners }) => owners).flat()),\n ]\n\n const changedFilesTeamOwners = changedFilesOwners\n .filter(owner => owner.includes('/'))\n .map(teamOwnership => teamOwnership.replace('@', ''))\n\n // for loop is used to synchronously go through all commits and team data can be fetched first without overfetching\n // eslint-disable-next-line no-await-in-loop\n await Promise.all(\n changedFilesTeamOwners\n // fetch team members only if they were not fetched yet\n .filter(team => !Object.keys(teamMembers).includes(team))\n .map(async team => {\n const teamHandle = team.split('/')\n teamMembers[team] = (\n await getTeamData({\n octokit,\n organizationLogin: teamHandle[0],\n teamSlug: teamHandle[1],\n })\n ).members\n }),\n )\n\n // for loop is used to synchronously go through all commits and team data can be fetched first without overfetching\n // eslint-disable-next-line no-await-in-loop\n await Promise.all(\n reviews.map(async review => {\n const { author } = review\n\n debug(`Check if review of user ${author?.login} should be dismissed`)\n\n if (\n !author ||\n // if review author is mentioned directly as an owner of changed files, dismiss their review\n (author.login && changedFilesOwners.includes(`@${author.login}`))\n ) {\n debug(\n `User ${author?.login} is owner of changed files and their review should be dismissed`,\n )\n reviewsToDismiss.push(review)\n\n return\n }\n\n // if the files are not owned by teams we can exit early, the user is already checked\n if (!changedFilesTeamOwners.length) {\n return\n }\n\n for (const teamOwnership of changedFilesTeamOwners) {\n if (teamMembers[teamOwnership]?.includes(author.login)) {\n debug(\n `User ${author.login} is member of ${teamOwnership} team and their review will be dismissed`,\n )\n reviewsToDismiss.push(review)\n } else {\n debug(`User ${author.login} is not member of ${teamOwnership} team`)\n }\n }\n }),\n )\n }\n\n return {\n reviewsToDismiss,\n reviewsWithoutHistory,\n }\n}\n","import { debug } from '@actions/core'\nimport { simpleGit } from 'simple-git'\nimport { Chalk } from 'chalk'\nimport Codeowners from 'codeowners'\nimport { minimatch } from 'minimatch'\n\nimport { getHeadDiffSinceReview } from './get-head-diff-since-review.ts'\n\nconst chalk = new Chalk({ level: 2 })\n\ntype Review = {\n author: {\n login: string\n } | null\n commit: {\n abbreviatedOid: string\n } | null\n}\n\nexport const groupReviewsByCommit = async ({\n latestReviews,\n headCommit,\n baseBranch,\n ignoreFiles,\n}: {\n latestReviews: TReview[]\n headCommit: string\n baseBranch: string\n ignoreFiles?: string[]\n}) => {\n const codeowners = new Codeowners()\n const git = simpleGit()\n const reviewsWithoutHistory: typeof latestReviews = []\n const groupedReviewsByCommit: Record<\n string,\n {\n filesChangedByHeadCommit: { filename: string; owners: string[] }[]\n reviews: typeof latestReviews\n }\n > = {}\n await Promise.all(\n latestReviews.map(async review => {\n const reviewCommit = review.commit?.abbreviatedOid as string\n const basehead = `${reviewCommit}..${headCommit}`\n\n // if group exists, just push the review to the group\n if (groupedReviewsByCommit[basehead]) {\n groupedReviewsByCommit[basehead].reviews.push(review)\n\n return\n }\n\n try {\n // check if commit exists in history\n await git.catFile(['commit', reviewCommit])\n } catch {\n // if commit doesn't exist, make related approve ready for dismiss and continue\n console.log(\n '\\n',\n chalk.yellow`Commit '${reviewCommit}' doesn't exist in the history. It may be because it was overwritten by force push or because it's outside of checkout depth.`,\n '\\n',\n chalk.yellow`Approval by ${review.author?.login} will be removed.`,\n '\\n',\n )\n reviewsWithoutHistory.push(review)\n\n return\n }\n\n const filesChangedByHeadCommit = await getHeadDiffSinceReview({\n reviewAssociatedSha: reviewCommit,\n headSha: headCommit,\n baseBranch,\n })\n\n debug(`Changes in ${basehead}:\\n${filesChangedByHeadCommit.join('\\n')}`)\n\n groupedReviewsByCommit[basehead] = {\n reviews: [review],\n // filter out ignored files\n filesChangedByHeadCommit: filesChangedByHeadCommit\n .filter(\n filename =>\n !ignoreFiles?.some(pattern =>\n minimatch(filename, pattern, { dot: true }),\n ),\n )\n .map(filename => ({\n owners: codeowners.getOwner(filename),\n filename,\n })),\n }\n }),\n )\n\n return { reviewsWithoutHistory, groupedReviewsByCommit }\n}\n","const cache = new WeakMap();\n\nexport function pathspec(...paths: string[]) {\n const key = new String(paths);\n cache.set(key, paths);\n\n return key as string;\n}\n\nexport function isPathSpec(path: string | unknown): path is string {\n return path instanceof String && cache.has(path);\n}\n\nexport function toPaths(pathSpec: string): string[] {\n return cache.get(pathSpec) || [];\n}\n","import type { SimpleGitTask } from '../types';\n\n/**\n * The `GitError` is thrown when the underlying `git` process throws a\n * fatal exception (eg an `ENOENT` exception when attempting to use a\n * non-writable directory as the root for your repo), and acts as the\n * base class for more specific errors thrown by the parsing of the\n * git response or errors in the configuration of the task about to\n * be run.\n *\n * When an exception is thrown, pending tasks in the same instance will\n * not be executed. The recommended way to run a series of tasks that\n * can independently fail without needing to prevent future tasks from\n * running is to catch them individually:\n *\n * ```typescript\n import { gitP, SimpleGit, GitError, PullResult } from 'simple-git';\n\n function catchTask (e: GitError) {\n return e.\n }\n\n const git = gitP(repoWorkingDir);\n const pulled: PullResult | GitError = await git.pull().catch(catchTask);\n const pushed: string | GitError = await git.pushTags().catch(catchTask);\n ```\n */\nexport class GitError extends Error {\n constructor(public task?: SimpleGitTask, message?: string) {\n super(message);\n Object.setPrototypeOf(this, new.target.prototype);\n }\n}\n","import { GitError } from './git-error';\n\n/**\n * The `GitResponseError` is the wrapper for a parsed response that is treated as\n * a fatal error, for example attempting a `merge` can leave the repo in a corrupted\n * state when there are conflicts so the task will reject rather than resolve.\n *\n * For example, catching the merge conflict exception:\n *\n * ```typescript\n import { gitP, SimpleGit, GitResponseError, MergeSummary } from 'simple-git';\n\n const git = gitP(repoRoot);\n const mergeOptions: string[] = ['--no-ff', 'other-branch'];\n const mergeSummary: MergeSummary = await git.merge(mergeOptions)\n .catch((e: GitResponseError) => e.git);\n\n if (mergeSummary.failed) {\n // deal with the error\n }\n ```\n */\nexport class GitResponseError extends GitError {\n constructor(\n /**\n * `.git` access the parsed response that is treated as being an error\n */\n public readonly git: T,\n message?: string\n ) {\n super(undefined, message || String(git));\n }\n}\n","import { GitError } from './git-error';\n\n/**\n * The `TaskConfigurationError` is thrown when a command was incorrectly\n * configured. An error of this kind means that no attempt was made to\n * run your command through the underlying `git` binary.\n *\n * Check the `.message` property for more detail on why your configuration\n * resulted in an error.\n */\nexport class TaskConfigurationError extends GitError {\n constructor(message?: string) {\n super(undefined, message);\n }\n}\n","import { exists, FOLDER } from '@kwsites/file-exists';\nimport { Maybe } from '../types';\n\nexport const NULL = '\\0';\n\nexport const NOOP: (...args: any[]) => void = () => {};\n\n/**\n * Returns either the source argument when it is a `Function`, or the default\n * `NOOP` function constant\n */\nexport function asFunction any>(source: T | any): T {\n return typeof source === 'function' ? source : NOOP;\n}\n\n/**\n * Determines whether the supplied argument is both a function, and is not\n * the `NOOP` function.\n */\nexport function isUserFunction(source: T | any): source is T {\n return typeof source === 'function' && source !== NOOP;\n}\n\nexport function splitOn(input: string, char: string): [string, string] {\n const index = input.indexOf(char);\n if (index <= 0) {\n return [input, ''];\n }\n\n return [input.substr(0, index), input.substr(index + 1)];\n}\n\nexport function first(input: T, offset?: number): Maybe;\nexport function first(input: T, offset?: number): Maybe;\nexport function first(input: any[] | IArguments, offset = 0): Maybe {\n return isArrayLike(input) && input.length > offset ? input[offset] : undefined;\n}\n\nexport function last(input: T, offset?: number): Maybe;\nexport function last(input: T, offset?: number): Maybe;\nexport function last(input: T, offset?: number): Maybe;\nexport function last(input: unknown, offset = 0) {\n if (isArrayLike(input) && input.length > offset) {\n return input[input.length - 1 - offset];\n }\n}\n\ntype ArrayLike = T[] | IArguments | { [index: number]: T; length: number };\n\nfunction isArrayLike(input: any): input is ArrayLike {\n return !!(input && typeof input.length === 'number');\n}\n\nexport function toLinesWithContent(input = '', trimmed = true, separator = '\\n'): string[] {\n return input.split(separator).reduce((output, line) => {\n const lineContent = trimmed ? line.trim() : line;\n if (lineContent) {\n output.push(lineContent);\n }\n return output;\n }, [] as string[]);\n}\n\ntype LineWithContentCallback = (line: string) => T;\n\nexport function forEachLineWithContent(\n input: string,\n callback: LineWithContentCallback\n): T[] {\n return toLinesWithContent(input, true).map((line) => callback(line));\n}\n\nexport function folderExists(path: string): boolean {\n return exists(path, FOLDER);\n}\n\n/**\n * Adds `item` into the `target` `Array` or `Set` when it is not already present and returns the `item`.\n */\nexport function append(target: T[] | Set, item: T): typeof 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}\n\n/**\n * Adds `item` into the `target` `Array` when it is not already present and returns the `target`.\n */\nexport function including(target: T[], item: T): typeof target {\n if (Array.isArray(target) && !target.includes(item)) {\n target.push(item);\n }\n\n return target;\n}\n\nexport function remove(target: Set | T[], item: T): T {\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}\n\nexport const objectToString = Object.prototype.toString.call.bind(Object.prototype.toString) as (\n input: any\n) => string;\n\nexport function asArray(source: T | T[]): T[] {\n return Array.isArray(source) ? source : [source];\n}\n\nexport function asStringArray(source: T | T[]): string[] {\n return asArray(source).map(String);\n}\n\nexport function asNumber(source: string | null | undefined, onNaN = 0) {\n if (source == null) {\n return onNaN;\n }\n\n const num = parseInt(source, 10);\n return isNaN(num) ? onNaN : num;\n}\n\nexport function prefixedArray(input: T[], prefix: T): T[] {\n const output: T[] = [];\n for (let i = 0, max = input.length; i < max; i++) {\n output.push(prefix, input[i]);\n }\n return output;\n}\n\nexport function bufferToString(input: Buffer | Buffer[]): string {\n return (Array.isArray(input) ? Buffer.concat(input) : input).toString('utf-8');\n}\n\n/**\n * Get a new object from a source object with only the listed properties.\n */\nexport function pick(source: Record, properties: string[]) {\n return Object.assign(\n {},\n ...properties.map((property) => (property in source ? { [property]: source[property] } : {}))\n );\n}\n\nexport function delay(duration = 0): Promise {\n return new Promise((done) => setTimeout(done, duration));\n}\n","import { Maybe, Options, Primitives } from '../types';\nimport { objectToString } from './util';\nimport { isPathSpec } from '../args/pathspec';\n\nexport interface ArgumentFilterPredicate {\n (input: any): input is T;\n}\n\nexport function filterType(\n input: K,\n filter: ArgumentFilterPredicate\n): K extends T ? T : undefined;\nexport function filterType(input: K, filter: ArgumentFilterPredicate, def: T): T;\nexport function filterType(input: K, filter: ArgumentFilterPredicate, def?: T): Maybe {\n if (filter(input)) {\n return input;\n }\n return arguments.length > 2 ? def : undefined;\n}\n\nexport const filterArray: ArgumentFilterPredicate> = (input): input is Array => {\n return Array.isArray(input);\n};\n\nexport function filterPrimitives(\n input: unknown,\n omit?: Array<'boolean' | 'string' | 'number'>\n): input is Primitives {\n const type = isPathSpec(input) ? 'string' : typeof input;\n\n return (\n /number|string|boolean/.test(type) &&\n (!omit || !omit.includes(type as 'boolean' | 'string' | 'number'))\n );\n}\n\nexport const filterString: ArgumentFilterPredicate = (input): input is string => {\n return typeof input === 'string';\n};\n\nexport const filterStringArray: ArgumentFilterPredicate = (input): input is string[] => {\n return Array.isArray(input) && input.every(filterString);\n};\n\nexport const filterStringOrStringArray: ArgumentFilterPredicate = (\n input\n): input is string | string[] => {\n return filterString(input) || (Array.isArray(input) && input.every(filterString));\n};\n\nexport function filterPlainObject(input: T | unknown): input is T;\nexport function filterPlainObject(input: T | unknown): input is T {\n return !!input && objectToString(input) === '[object Object]';\n}\n\nexport function filterFunction(input: unknown): input is Function {\n return typeof input === 'function';\n}\n\nexport const filterHasLength: ArgumentFilterPredicate<{ length: number }> = (\n input\n): input is { length: number } => {\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 * Known process exit codes used by the task parsers to determine whether an error\n * was one they can automatically handle\n */\nexport enum ExitCodes {\n SUCCESS,\n ERROR,\n NOT_FOUND = -2,\n UNCLEAN = 128,\n}\n","import { TaskResponseFormat } from '../types';\n\nexport class GitOutputStreams {\n constructor(public readonly stdOut: T, public readonly stdErr: T) {}\n\n asStrings(): GitOutputStreams {\n return new GitOutputStreams(this.stdOut.toString('utf8'), this.stdErr.toString('utf8'));\n }\n}\n","export class LineParser {\n protected matches: string[] = [];\n\n private _regExp: RegExp[];\n\n constructor(\n regExp: RegExp | RegExp[],\n useMatches?: (target: T, match: string[]) => boolean | void\n ) {\n this._regExp = Array.isArray(regExp) ? regExp : [regExp];\n if (useMatches) {\n this.useMatches = useMatches;\n }\n }\n\n parse = (line: (offset: number) => string | undefined, target: T): boolean => {\n this.resetMatches();\n\n if (!this._regExp.every((reg, index) => this.addMatch(reg, index, line(index)))) {\n return false;\n }\n\n return this.useMatches(target, this.prepareMatches()) !== false;\n };\n\n // @ts-ignore\n protected useMatches(target: T, match: string[]): boolean | void {\n throw new Error(`LineParser:useMatches not implemented`);\n }\n\n protected resetMatches() {\n this.matches.length = 0;\n }\n\n protected prepareMatches() {\n return this.matches;\n }\n\n protected addMatch(reg: RegExp, index: number, line?: string) {\n const matched = line && reg.exec(line);\n if (matched) {\n this.pushMatch(index, matched);\n }\n\n return !!matched;\n }\n\n protected pushMatch(_index: number, matched: string[]) {\n this.matches.push(...matched.slice(1));\n }\n}\n\nexport class RemoteLineParser extends LineParser {\n protected addMatch(reg: RegExp, index: number, line?: string): boolean {\n return /^remote:\\s/.test(String(line)) && super.addMatch(reg, index, line);\n }\n\n protected pushMatch(index: number, matched: string[]) {\n if (index > 0 || matched.length > 1) {\n super.pushMatch(index, matched);\n }\n }\n}\n","import { SimpleGitOptions } from '../types';\n\nconst defaultOptions: Omit = {\n binary: 'git',\n maxConcurrentProcesses: 5,\n config: [],\n trimmed: false,\n};\n\nexport function createInstanceConfig(\n ...options: Array | undefined>\n): SimpleGitOptions {\n const baseDir = process.cwd();\n const config: SimpleGitOptions = Object.assign(\n { baseDir, ...defaultOptions },\n ...options.filter((o) => typeof o === 'object' && o)\n );\n\n config.baseDir = config.baseDir || baseDir;\n config.trimmed = config.trimmed === true;\n\n return config;\n}\n","import {\n filterArray,\n filterFunction,\n filterPlainObject,\n filterPrimitives,\n filterType,\n} from './argument-filters';\nimport { asFunction, isUserFunction, last } from './util';\nimport { Maybe, Options, OptionsValues } from '../types';\nimport { isPathSpec } from '../args/pathspec';\n\nexport function appendTaskOptions(\n options: Maybe,\n commands: string[] = []\n): string[] {\n if (!filterPlainObject(options)) {\n return commands;\n }\n\n return Object.keys(options).reduce((commands: string[], key: string) => {\n const value: OptionsValues = options[key];\n\n if (isPathSpec(value)) {\n commands.push(value);\n } else if (filterPrimitives(value, ['boolean'])) {\n commands.push(key + '=' + value);\n } else {\n commands.push(key);\n }\n\n return commands;\n }, commands);\n}\n\nexport function getTrailingOptions(\n args: IArguments,\n initialPrimitive = 0,\n objectOnly = false\n): string[] {\n const command: string[] = [];\n\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\n appendTaskOptions(trailingOptionsArgument(args), command);\n if (!objectOnly) {\n command.push(...trailingArrayArgument(args));\n }\n\n return command;\n}\n\nfunction trailingArrayArgument(args: IArguments) {\n const hasTrailingCallback = typeof last(args) === 'function';\n return filterType(last(args, hasTrailingCallback ? 1 : 0), filterArray, []);\n}\n\n/**\n * Given any number of arguments, returns the trailing options argument, ignoring a trailing function argument\n * if there is one. When not found, the return value is null.\n */\nexport function trailingOptionsArgument(args: IArguments): Maybe {\n const hasTrailingCallback = filterFunction(last(args));\n return filterType(last(args, hasTrailingCallback ? 1 : 0), filterPlainObject);\n}\n\n/**\n * Returns either the source argument when it is a `Function`, or the default\n * `NOOP` function constant\n */\nexport function trailingFunctionArgument(\n args: unknown[] | IArguments | unknown,\n includeNoop = true\n): Maybe<(...args: any[]) => unknown> {\n const callback = asFunction(last(args));\n return includeNoop || isUserFunction(callback) ? callback : undefined;\n}\n","import type { MaybeArray, TaskParser, TaskResponseFormat } from '../types';\nimport { GitOutputStreams } from './git-output-streams';\nimport { LineParser } from './line-parser';\nimport { asArray, toLinesWithContent } from './util';\n\nexport function callTaskParser(\n parser: TaskParser,\n streams: GitOutputStreams\n) {\n return parser(streams.stdOut, streams.stdErr);\n}\n\nexport function parseStringResponse(\n result: T,\n parsers: LineParser[],\n texts: MaybeArray,\n trim = true\n): T {\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\n parsers.some(({ parse }) => parse(line, result));\n }\n });\n\n return result;\n}\n","export * from './argument-filters';\nexport * from './exit-codes';\nexport * from './git-output-streams';\nexport * from './line-parser';\nexport * from './simple-git-options';\nexport * from './task-options';\nexport * from './task-parser';\nexport * from './util';\n","import { ExitCodes } from '../utils';\nimport { Maybe, StringTask } from '../types';\n\nexport enum CheckRepoActions {\n BARE = 'bare',\n IN_TREE = 'tree',\n IS_REPO_ROOT = 'root',\n}\n\nconst onError: StringTask['onError'] = ({ exitCode }, error, done, fail) => {\n if (exitCode === ExitCodes.UNCLEAN && isNotRepoMessage(error)) {\n return done(Buffer.from('false'));\n }\n\n fail(error);\n};\n\nconst parser: StringTask['parser'] = (text) => {\n return text.trim() === 'true';\n};\n\nexport function checkIsRepoTask(action: Maybe): StringTask {\n switch (action) {\n case CheckRepoActions.BARE:\n return checkIsBareRepoTask();\n case CheckRepoActions.IS_REPO_ROOT:\n return checkIsRepoRootTask();\n }\n\n const commands = ['rev-parse', '--is-inside-work-tree'];\n\n return {\n commands,\n format: 'utf-8',\n onError,\n parser,\n };\n}\n\nexport function checkIsRepoRootTask(): StringTask {\n const commands = ['rev-parse', '--git-dir'];\n\n return {\n commands,\n format: 'utf-8',\n onError,\n parser(path) {\n return /^\\.(git)?$/.test(path.trim());\n },\n };\n}\n\nexport function checkIsBareRepoTask(): StringTask {\n const commands = ['rev-parse', '--is-bare-repository'];\n\n return {\n commands,\n format: 'utf-8',\n onError,\n parser,\n };\n}\n\nfunction isNotRepoMessage(error: Error): boolean {\n return /(Not a git repository|Kein Git-Repository)/i.test(String(error));\n}\n","import { CleanSummary } from '../../../typings';\nimport { toLinesWithContent } from '../utils';\n\nexport class CleanResponse implements CleanSummary {\n public paths: string[] = [];\n public files: string[] = [];\n public folders: string[] = [];\n\n constructor(public readonly dryRun: boolean) {}\n}\n\nconst removalRegexp = /^[a-z]+\\s*/i;\nconst dryRunRemovalRegexp = /^[a-z]+\\s+[a-z]+\\s*/i;\nconst isFolderRegexp = /\\/$/;\n\nexport function cleanSummaryParser(dryRun: boolean, text: string): CleanSummary {\n const summary = new CleanResponse(dryRun);\n const regexp = dryRun ? dryRunRemovalRegexp : removalRegexp;\n\n toLinesWithContent(text).forEach((line) => {\n const removed = line.replace(regexp, '');\n\n summary.paths.push(removed);\n (isFolderRegexp.test(removed) ? summary.folders : summary.files).push(removed);\n });\n\n return summary;\n}\n","import { TaskConfigurationError } from '../errors/task-configuration-error';\nimport type { BufferTask, EmptyTaskParser, SimpleGitTask, StringTask } from '../types';\n\nexport const EMPTY_COMMANDS: [] = [];\n\nexport type EmptyTask = {\n commands: typeof EMPTY_COMMANDS;\n format: 'empty';\n parser: EmptyTaskParser;\n onError?: undefined;\n};\n\nexport function adhocExecTask(parser: EmptyTaskParser): EmptyTask {\n return {\n commands: EMPTY_COMMANDS,\n format: 'empty',\n parser,\n };\n}\n\nexport function configurationErrorTask(error: Error | string): EmptyTask {\n return {\n commands: EMPTY_COMMANDS,\n format: 'empty',\n parser() {\n throw typeof error === 'string' ? new TaskConfigurationError(error) : error;\n },\n };\n}\n\nexport function straightThroughStringTask(commands: string[], trimmed = false): StringTask {\n return {\n commands,\n format: 'utf-8',\n parser(text) {\n return trimmed ? String(text).trim() : text;\n },\n };\n}\n\nexport function straightThroughBufferTask(commands: string[]): BufferTask {\n return {\n commands,\n format: 'buffer',\n parser(buffer) {\n return buffer;\n },\n };\n}\n\nexport function isBufferTask(task: SimpleGitTask): task is BufferTask {\n return task.format === 'buffer';\n}\n\nexport function isEmptyTask(task: SimpleGitTask): task is EmptyTask {\n return task.format === 'empty' || !task.commands.length;\n}\n","import { CleanSummary } from '../../../typings';\nimport { cleanSummaryParser } from '../responses/CleanSummary';\nimport { Maybe, StringTask } from '../types';\nimport { asStringArray } from '../utils';\nimport { configurationErrorTask } from './task';\n\nexport const CONFIG_ERROR_INTERACTIVE_MODE = 'Git clean interactive mode is not supported';\nexport const CONFIG_ERROR_MODE_REQUIRED = 'Git clean mode parameter (\"n\" or \"f\") is required';\nexport const CONFIG_ERROR_UNKNOWN_OPTION = 'Git clean unknown option found in: ';\n\n/**\n * All supported option switches available for use in a `git.clean` operation\n */\nexport enum CleanOptions {\n DRY_RUN = 'n',\n FORCE = 'f',\n IGNORED_INCLUDED = 'x',\n IGNORED_ONLY = 'X',\n EXCLUDING = 'e',\n QUIET = 'q',\n RECURSIVE = 'd',\n}\n\n/**\n * The two modes `git.clean` can run in - one of these must be supplied in order\n * for the command to not throw a `TaskConfigurationError`\n */\nexport type CleanMode = CleanOptions.FORCE | CleanOptions.DRY_RUN;\n\nconst CleanOptionValues: Set = new Set([\n 'i',\n ...asStringArray(Object.values(CleanOptions as any)),\n]);\n\nexport function cleanWithOptionsTask(mode: CleanMode | string, customArgs: string[]) {\n const { cleanMode, options, valid } = getCleanOptions(mode);\n\n if (!cleanMode) {\n return configurationErrorTask(CONFIG_ERROR_MODE_REQUIRED);\n }\n\n if (!valid.options) {\n return configurationErrorTask(CONFIG_ERROR_UNKNOWN_OPTION + JSON.stringify(mode));\n }\n\n options.push(...customArgs);\n\n if (options.some(isInteractiveMode)) {\n return configurationErrorTask(CONFIG_ERROR_INTERACTIVE_MODE);\n }\n\n return cleanTask(cleanMode, options);\n}\n\nexport function cleanTask(mode: CleanMode, customArgs: string[]): StringTask {\n const commands: string[] = ['clean', `-${mode}`, ...customArgs];\n\n return {\n commands,\n format: 'utf-8',\n parser(text: string): CleanSummary {\n return cleanSummaryParser(mode === CleanOptions.DRY_RUN, text);\n },\n };\n}\n\nexport function isCleanOptionsArray(input: string[]): input is CleanOptions[] {\n return Array.isArray(input) && input.every((test) => CleanOptionValues.has(test));\n}\n\nfunction getCleanOptions(input: string) {\n let cleanMode: Maybe;\n let options: string[] = [];\n let valid = { cleanMode: false, options: true };\n\n input\n .replace(/[^a-z]i/g, '')\n .split('')\n .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\n return {\n cleanMode,\n options,\n valid,\n };\n}\n\nfunction isCleanMode(cleanMode?: string): cleanMode is CleanMode {\n return cleanMode === CleanOptions.FORCE || cleanMode === CleanOptions.DRY_RUN;\n}\n\nfunction isKnownOption(option: string): boolean {\n return /^-[a-z]$/i.test(option) && CleanOptionValues.has(option.charAt(1));\n}\n\nfunction isInteractiveMode(option: string): boolean {\n if (/^-[^\\-]/.test(option)) {\n return option.indexOf('i') > 0;\n }\n\n return option === '--interactive';\n}\n","import { ConfigGetResult, ConfigListSummary, ConfigValues } from '../../../typings';\nimport { last, splitOn } from '../utils';\n\nexport class ConfigList implements ConfigListSummary {\n public files: string[] = [];\n public values: { [fileName: string]: ConfigValues } = Object.create(null);\n\n private _all: ConfigValues | undefined;\n\n public get all(): ConfigValues {\n if (!this._all) {\n this._all = this.files.reduce((all: ConfigValues, file: string) => {\n return Object.assign(all, this.values[file]);\n }, {});\n }\n\n return this._all;\n }\n\n public addFile(file: string): ConfigValues {\n if (!(file in this.values)) {\n const latest = last(this.files);\n this.values[file] = latest ? Object.create(this.values[latest]) : {};\n\n this.files.push(file);\n }\n\n return this.values[file];\n }\n\n public addValue(file: string, key: string, value: string) {\n const values = this.addFile(file);\n\n if (!values.hasOwnProperty(key)) {\n values[key] = value;\n } else if (Array.isArray(values[key])) {\n (values[key] as string[]).push(value);\n } else {\n values[key] = [values[key] as string, value];\n }\n\n this._all = undefined;\n }\n}\n\nexport function configListParser(text: string): ConfigList {\n const config = new ConfigList();\n\n for (const item of configParser(text)) {\n config.addValue(item.file, String(item.key), item.value);\n }\n\n return config;\n}\n\nexport function configGetParser(text: string, key: string): ConfigGetResult {\n let value: string | null = null;\n const values: string[] = [];\n const scopes: Map = new Map();\n\n for (const item of configParser(text, key)) {\n if (item.key !== key) {\n continue;\n }\n\n values.push((value = item.value));\n\n if (!scopes.has(item.file)) {\n scopes.set(item.file, []);\n }\n\n scopes.get(item.file)!.push(value);\n }\n\n return {\n key,\n paths: Array.from(scopes.keys()),\n scopes,\n value,\n values,\n };\n}\n\nfunction configFilePath(filePath: string): string {\n return filePath.replace(/^(file):/, '');\n}\n\nfunction* configParser(text: string, requestedKey: string | null = null) {\n const lines = text.split('\\0');\n\n for (let i = 0, max = lines.length - 1; i < max; ) {\n const file = configFilePath(lines[i++]);\n\n let value = lines[i++];\n let key = requestedKey;\n\n if (value.includes('\\n')) {\n const line = splitOn(value, '\\n');\n key = line[0];\n value = line[1];\n }\n\n yield { file, key, value };\n }\n}\n","import type { ConfigGetResult, ConfigListSummary, SimpleGit } from '../../../typings';\nimport { configGetParser, configListParser } from '../responses/ConfigList';\nimport type { SimpleGitApi } from '../simple-git-api';\nimport type { StringTask } from '../types';\nimport { trailingFunctionArgument } from '../utils';\n\nexport enum GitConfigScope {\n system = 'system',\n global = 'global',\n local = 'local',\n worktree = 'worktree',\n}\n\nfunction asConfigScope(\n scope: GitConfigScope | unknown,\n fallback: T\n): GitConfigScope | T {\n if (typeof scope === 'string' && GitConfigScope.hasOwnProperty(scope)) {\n return scope as GitConfigScope;\n }\n return fallback;\n}\n\nfunction addConfigTask(\n key: string,\n value: string,\n append: boolean,\n scope: GitConfigScope\n): StringTask {\n const commands: string[] = ['config', `--${scope}`];\n\n if (append) {\n commands.push('--add');\n }\n\n commands.push(key, value);\n\n return {\n commands,\n format: 'utf-8',\n parser(text: string): string {\n return text;\n },\n };\n}\n\nfunction getConfigTask(key: string, scope?: GitConfigScope): StringTask {\n const commands: string[] = ['config', '--null', '--show-origin', '--get-all', key];\n\n if (scope) {\n commands.splice(1, 0, `--${scope}`);\n }\n\n return {\n commands,\n format: 'utf-8',\n parser(text) {\n return configGetParser(text, key);\n },\n };\n}\n\nfunction listConfigTask(scope?: GitConfigScope): StringTask {\n const commands = ['config', '--list', '--show-origin', '--null'];\n\n if (scope) {\n commands.push(`--${scope}`);\n }\n\n return {\n commands,\n format: 'utf-8',\n parser(text: string) {\n return configListParser(text);\n },\n };\n}\n\nexport default function (): Pick {\n return {\n addConfig(this: SimpleGitApi, key: string, value: string, ...rest: unknown[]) {\n return this._runTask(\n addConfigTask(\n key,\n value,\n rest[0] === true,\n asConfigScope(rest[1], GitConfigScope.local)\n ),\n trailingFunctionArgument(arguments)\n );\n },\n\n getConfig(this: SimpleGitApi, key: string, scope?: GitConfigScope) {\n return this._runTask(\n getConfigTask(key, asConfigScope(scope, undefined)),\n trailingFunctionArgument(arguments)\n );\n },\n\n listConfig(this: SimpleGitApi, ...rest: unknown[]) {\n return this._runTask(\n listConfigTask(asConfigScope(rest[0], undefined)),\n trailingFunctionArgument(arguments)\n );\n },\n };\n}\n","import { GrepResult, SimpleGit } from '../../../typings';\nimport { SimpleGitApi } from '../simple-git-api';\nimport {\n asNumber,\n forEachLineWithContent,\n getTrailingOptions,\n NULL,\n prefixedArray,\n trailingFunctionArgument,\n} from '../utils';\n\nimport { configurationErrorTask } from './task';\n\nconst disallowedOptions = ['-h'];\n\nconst Query = Symbol('grepQuery');\n\nexport interface GitGrepQuery extends Iterable {\n /** Adds one or more terms to be grouped as an \"and\" to any other terms */\n and(...and: string[]): this;\n\n /** Adds one or more search terms - git.grep will \"or\" this to other terms */\n param(...param: string[]): this;\n}\n\nclass GrepQuery implements GitGrepQuery {\n private [Query]: string[] = [];\n\n *[Symbol.iterator]() {\n for (const query of this[Query]) {\n yield query;\n }\n }\n\n and(...and: string[]) {\n and.length && this[Query].push('--and', '(', ...prefixedArray(and, '-e'), ')');\n return this;\n }\n\n param(...param: string[]) {\n this[Query].push(...prefixedArray(param, '-e'));\n return this;\n }\n}\n\n/**\n * Creates a new builder for a `git.grep` query with optional params\n */\nexport function grepQueryBuilder(...params: string[]): GitGrepQuery {\n return new GrepQuery().param(...params);\n}\n\nfunction parseGrep(grep: string): GrepResult {\n const paths: GrepResult['paths'] = new Set();\n const results: GrepResult['results'] = {};\n\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\n return {\n paths,\n results,\n };\n}\n\nexport default function (): Pick {\n return {\n grep(this: SimpleGitApi, searchTerm: string | GitGrepQuery) {\n const then = trailingFunctionArgument(arguments);\n const options = getTrailingOptions(arguments);\n\n for (const option of disallowedOptions) {\n if (options.includes(option)) {\n return this._runTask(\n configurationErrorTask(`git.grep: use of \"${option}\" is not supported.`),\n then\n );\n }\n }\n\n if (typeof searchTerm === 'string') {\n searchTerm = grepQueryBuilder().param(searchTerm);\n }\n\n const commands = ['grep', '--null', '-n', '--full-name', ...options, ...searchTerm];\n\n return this._runTask(\n {\n commands,\n format: 'utf-8',\n parser(stdOut) {\n return parseGrep(stdOut);\n },\n },\n then\n );\n },\n };\n}\n","import { straightThroughStringTask } from './task';\nimport { Maybe, OptionFlags, Options } from '../types';\n\nexport enum ResetMode {\n MIXED = 'mixed',\n SOFT = 'soft',\n HARD = 'hard',\n MERGE = 'merge',\n KEEP = 'keep',\n}\n\nconst ResetModes = Array.from(Object.values(ResetMode));\n\nexport type ResetOptions = Options &\n OptionFlags<'-q' | '--quiet' | '--no-quiet' | '--pathspec-from-nul'> &\n OptionFlags<'--pathspec-from-file', string>;\n\nexport function resetTask(mode: Maybe, customArgs: string[]) {\n const commands: string[] = ['reset'];\n if (isValidResetMode(mode)) {\n commands.push(`--${mode}`);\n }\n commands.push(...customArgs);\n\n return straightThroughStringTask(commands);\n}\n\nexport function getResetMode(mode: ResetMode | any): Maybe {\n if (isValidResetMode(mode)) {\n return mode;\n }\n\n switch (typeof mode) {\n case 'string':\n case 'undefined':\n return ResetMode.SOFT;\n }\n\n return;\n}\n\nfunction isValidResetMode(mode: ResetMode | any): mode is ResetMode {\n return ResetModes.includes(mode);\n}\n","import debug, { Debugger } from 'debug';\nimport {\n append,\n filterHasLength,\n filterString,\n filterType,\n NOOP,\n objectToString,\n remove,\n} from './utils';\nimport { Maybe } from './types';\n\ndebug.formatters.L = (value: any) => String(filterHasLength(value) ? value.length : '-');\ndebug.formatters.B = (value: Buffer) => {\n if (Buffer.isBuffer(value)) {\n return value.toString('utf8');\n }\n return objectToString(value);\n};\n\ntype OutputLoggingHandler = (message: string, ...args: any[]) => void;\n\nfunction createLog() {\n return debug('simple-git');\n}\n\nexport interface OutputLogger extends OutputLoggingHandler {\n readonly label: string;\n\n info: OutputLoggingHandler;\n step(nextStep?: string): OutputLogger;\n sibling(name: string): OutputLogger;\n}\n\nfunction prefixedLogger(\n to: Debugger,\n prefix: string,\n forward?: OutputLoggingHandler\n): OutputLoggingHandler {\n if (!prefix || !String(prefix).replace(/\\s*/, '')) {\n return !forward\n ? to\n : (message, ...args) => {\n to(message, ...args);\n forward(message, ...args);\n };\n }\n\n return (message, ...args) => {\n to(`%s ${message}`, prefix, ...args);\n if (forward) {\n forward(message, ...args);\n }\n };\n}\n\nfunction childLoggerName(\n name: Maybe,\n childDebugger: Maybe,\n { namespace: parentNamespace }: Debugger\n): string {\n if (typeof name === 'string') {\n return name;\n }\n const childNamespace = (childDebugger && childDebugger.namespace) || '';\n\n if (childNamespace.startsWith(parentNamespace)) {\n return childNamespace.substr(parentNamespace.length + 1);\n }\n\n return childNamespace || parentNamespace;\n}\n\nexport function createLogger(\n label: string,\n verbose?: string | Debugger,\n initialStep?: string,\n infoDebugger = createLog()\n): OutputLogger {\n const labelPrefix = (label && `[${label}]`) || '';\n\n const spawned: OutputLogger[] = [];\n const debugDebugger: Maybe =\n typeof verbose === 'string' ? infoDebugger.extend(verbose) : verbose;\n const key = childLoggerName(filterType(verbose, filterString), debugDebugger, infoDebugger);\n\n return step(initialStep);\n\n function sibling(name: string, initial?: string) {\n return append(\n spawned,\n createLogger(label, key.replace(/^[^:]+/, name), initial, infoDebugger)\n );\n }\n\n function step(phase?: string) {\n const stepPrefix = (phase && `[${phase}]`) || '';\n const debug = (debugDebugger && prefixedLogger(debugDebugger, stepPrefix)) || NOOP;\n const info = prefixedLogger(infoDebugger, `${labelPrefix} ${stepPrefix}`, debug);\n\n return Object.assign(debugDebugger ? debug : info, {\n label,\n sibling,\n info,\n step,\n });\n }\n}\n\n/**\n * The `GitLogger` is used by the main `SimpleGit` runner to handle logging\n * any warnings or errors.\n */\nexport class GitLogger {\n public error: OutputLoggingHandler;\n\n public warn: OutputLoggingHandler;\n\n constructor(private _out: Debugger = createLog()) {\n this.error = prefixedLogger(_out, '[ERROR]');\n this.warn = prefixedLogger(_out, '[WARN]');\n }\n\n silent(silence = false) {\n if (silence !== this._out.enabled) {\n return;\n }\n\n const { namespace } = this._out;\n const env = (process.env.DEBUG || '').split(',').filter((s) => !!s);\n const hasOn = env.includes(namespace);\n const hasOff = env.includes(`-${namespace}`);\n\n // enabling the log\n if (!silence) {\n if (hasOff) {\n remove(env, `-${namespace}`);\n } else {\n env.push(namespace);\n }\n } else {\n if (hasOn) {\n remove(env, namespace);\n } else {\n env.push(`-${namespace}`);\n }\n }\n\n debug.enable(env.join(','));\n }\n}\n","import { SimpleGitTask } from '../types';\nimport { GitError } from '../errors/git-error';\nimport { createLogger, OutputLogger } from '../git-logger';\n\ntype AnySimpleGitTask = SimpleGitTask;\n\ntype TaskInProgress = {\n name: string;\n logger: OutputLogger;\n task: AnySimpleGitTask;\n};\n\nexport class TasksPendingQueue {\n private _queue: Map = new Map();\n\n constructor(private logLabel = 'GitExecutor') {}\n\n private withProgress(task: AnySimpleGitTask) {\n return this._queue.get(task);\n }\n\n private createProgress(task: AnySimpleGitTask): TaskInProgress {\n const name = TasksPendingQueue.getName(task.commands[0]);\n const logger = createLogger(this.logLabel, name);\n\n return {\n task,\n logger,\n name,\n };\n }\n\n push(task: AnySimpleGitTask): TaskInProgress {\n const progress = this.createProgress(task);\n progress.logger('Adding task to the queue, commands = %o', task.commands);\n\n this._queue.set(task, progress);\n\n return progress;\n }\n\n fatal(err: GitError) {\n for (const [task, { logger }] of Array.from(this._queue.entries())) {\n if (task === err.task) {\n logger.info(`Failed %o`, err);\n logger(\n `Fatal exception, any as-yet un-started tasks run through this executor will not be attempted`\n );\n } else {\n logger.info(\n `A fatal exception occurred in a previous task, the queue has been purged: %o`,\n err.message\n );\n }\n\n this.complete(task);\n }\n\n if (this._queue.size !== 0) {\n throw new Error(`Queue size should be zero after fatal: ${this._queue.size}`);\n }\n }\n\n complete(task: AnySimpleGitTask) {\n const progress = this.withProgress(task);\n if (progress) {\n this._queue.delete(task);\n }\n }\n\n attempt(task: AnySimpleGitTask): TaskInProgress {\n const progress = this.withProgress(task);\n if (!progress) {\n throw new GitError(undefined, 'TasksPendingQueue: attempt called for an unknown task');\n }\n progress.logger('Starting task');\n\n return progress;\n }\n\n static getName(name = 'empty') {\n return `task:${name}:${++TasksPendingQueue.counter}`;\n }\n\n private static counter = 0;\n}\n","import { spawn, SpawnOptions } from 'child_process';\nimport { GitError } from '../errors/git-error';\nimport { OutputLogger } from '../git-logger';\nimport { PluginStore } from '../plugins';\nimport { EmptyTask, isBufferTask, isEmptyTask } from '../tasks/task';\nimport {\n GitExecutorResult,\n Maybe,\n outputHandler,\n RunnableTask,\n SimpleGitExecutor,\n SimpleGitTask,\n} from '../types';\nimport { callTaskParser, first, GitOutputStreams, objectToString } from '../utils';\nimport { Scheduler } from './scheduler';\nimport { TasksPendingQueue } from './tasks-pending-queue';\n\nexport class GitExecutorChain implements SimpleGitExecutor {\n private _chain: Promise = Promise.resolve();\n private _queue = new TasksPendingQueue();\n private _cwd: string | undefined;\n\n public get binary() {\n return this._executor.binary;\n }\n\n public get cwd() {\n return this._cwd || this._executor.cwd;\n }\n\n public set cwd(cwd: string) {\n this._cwd = cwd;\n }\n\n public get env() {\n return this._executor.env;\n }\n\n public get outputHandler() {\n return this._executor.outputHandler;\n }\n\n constructor(\n private _executor: SimpleGitExecutor,\n private _scheduler: Scheduler,\n private _plugins: PluginStore\n ) {}\n\n public chain() {\n return this;\n }\n\n public push(task: SimpleGitTask): Promise {\n this._queue.push(task);\n\n return (this._chain = this._chain.then(() => this.attemptTask(task)));\n }\n\n private async attemptTask(task: SimpleGitTask): Promise {\n const onScheduleComplete = await this._scheduler.next();\n const onQueueComplete = () => this._queue.complete(task);\n\n try {\n const { logger } = this._queue.attempt(task);\n return (await (isEmptyTask(task)\n ? this.attemptEmptyTask(task, logger)\n : this.attemptRemoteTask(task, logger))) as R;\n } catch (e) {\n throw this.onFatalException(task, e as Error);\n } finally {\n onQueueComplete();\n onScheduleComplete();\n }\n }\n\n private onFatalException(task: SimpleGitTask, e: Error) {\n const gitError =\n e instanceof GitError ? Object.assign(e, { task }) : new GitError(task, e && String(e));\n\n this._chain = Promise.resolve();\n this._queue.fatal(gitError);\n\n return gitError;\n }\n\n private async attemptRemoteTask(task: RunnableTask, logger: OutputLogger) {\n const args = this._plugins.exec(\n 'spawn.args',\n [...task.commands],\n pluginContext(task, task.commands)\n );\n\n const raw = await this.gitResponse(\n task,\n this.binary,\n args,\n this.outputHandler,\n logger.step('SPAWN')\n );\n const outputStreams = await this.handleTaskData(task, args, raw, logger.step('HANDLE'));\n\n logger(`passing response to task's parser as a %s`, task.format);\n\n if (isBufferTask(task)) {\n return callTaskParser(task.parser, outputStreams);\n }\n\n return callTaskParser(task.parser, outputStreams.asStrings());\n }\n\n private async attemptEmptyTask(task: EmptyTask, logger: OutputLogger) {\n logger(`empty task bypassing child process to call to task's parser`);\n return task.parser(this);\n }\n\n private handleTaskData(\n task: SimpleGitTask,\n args: string[],\n result: GitExecutorResult,\n logger: OutputLogger\n ): Promise {\n const { exitCode, rejection, stdOut, stdErr } = result;\n\n return new Promise((done, fail) => {\n logger(`Preparing to handle process response exitCode=%d stdOut=`, exitCode);\n\n const { error } = this._plugins.exec(\n 'task.error',\n { error: rejection },\n {\n ...pluginContext(task, args),\n ...result,\n }\n );\n\n if (error && task.onError) {\n logger.info(`exitCode=%s handling with custom error handler`);\n\n return task.onError(\n result,\n error,\n (newStdOut) => {\n logger.info(`custom error handler treated as success`);\n logger(`custom error returned a %s`, objectToString(newStdOut));\n\n done(\n new GitOutputStreams(\n Array.isArray(newStdOut) ? Buffer.concat(newStdOut) : newStdOut,\n Buffer.concat(stdErr)\n )\n );\n },\n fail\n );\n }\n\n if (error) {\n logger.info(\n `handling as error: exitCode=%s stdErr=%s rejection=%o`,\n exitCode,\n stdErr.length,\n rejection\n );\n return fail(error);\n }\n\n logger.info(`retrieving task output complete`);\n done(new GitOutputStreams(Buffer.concat(stdOut), Buffer.concat(stdErr)));\n });\n }\n\n private async gitResponse(\n task: SimpleGitTask,\n command: string,\n args: string[],\n outputHandler: Maybe,\n logger: OutputLogger\n ): Promise {\n const outputLogger = logger.sibling('output');\n const spawnOptions: SpawnOptions = this._plugins.exec(\n 'spawn.options',\n {\n cwd: this.cwd,\n env: this.env,\n windowsHide: true,\n },\n pluginContext(task, task.commands)\n );\n\n return new Promise((done) => {\n const stdOut: Buffer[] = [];\n const stdErr: Buffer[] = [];\n\n logger.info(`%s %o`, command, args);\n logger('%O', spawnOptions);\n\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\n this._plugins.exec('spawn.before', undefined, {\n ...pluginContext(task, args),\n kill(reason) {\n rejection = reason || rejection;\n },\n });\n\n const spawned = spawn(command, args, spawnOptions);\n\n spawned.stdout!.on(\n 'data',\n onDataReceived(stdOut, 'stdOut', logger, outputLogger.step('stdOut'))\n );\n spawned.stderr!.on(\n 'data',\n onDataReceived(stdErr, 'stdErr', logger, outputLogger.step('stdErr'))\n );\n\n spawned.on('error', onErrorReceived(stdErr, logger));\n\n if (outputHandler) {\n logger(`Passing child process stdOut/stdErr to custom outputHandler`);\n outputHandler(command, spawned.stdout!, spawned.stderr!, [...args]);\n }\n\n this._plugins.exec('spawn.after', undefined, {\n ...pluginContext(task, args),\n spawned,\n close(exitCode: number, reason?: Error) {\n done({\n stdOut,\n stdErr,\n exitCode,\n rejection: rejection || reason,\n });\n },\n kill(reason: Error) {\n if (spawned.killed) {\n return;\n }\n\n rejection = reason;\n spawned.kill('SIGINT');\n },\n });\n });\n }\n\n private _beforeSpawn(task: SimpleGitTask, args: string[]) {\n let rejection: Maybe;\n this._plugins.exec('spawn.before', undefined, {\n ...pluginContext(task, args),\n kill(reason) {\n rejection = reason || rejection;\n },\n });\n\n return rejection;\n }\n}\n\nfunction pluginContext(task: SimpleGitTask, commands: string[]) {\n return {\n method: first(task.commands) || '',\n commands,\n };\n}\n\nfunction onErrorReceived(target: Buffer[], logger: OutputLogger) {\n return (err: Error) => {\n logger(`[ERROR] child process exception %o`, err);\n target.push(Buffer.from(String(err.stack), 'ascii'));\n };\n}\n\nfunction onDataReceived(\n target: Buffer[],\n name: string,\n logger: OutputLogger,\n output: OutputLogger\n) {\n return (buffer: Buffer) => {\n logger(`%s received %L bytes`, name, buffer);\n output(`%B`, buffer);\n target.push(buffer);\n };\n}\n","import type { PluginStore } from '../plugins';\nimport type { GitExecutorEnv, outputHandler, SimpleGitExecutor, SimpleGitTask } from '../types';\n\nimport { GitExecutorChain } from './git-executor-chain';\nimport { Scheduler } from './scheduler';\n\nexport class GitExecutor implements SimpleGitExecutor {\n private _chain = new GitExecutorChain(this, this._scheduler, this._plugins);\n\n public env: GitExecutorEnv;\n public outputHandler?: outputHandler;\n\n constructor(\n public binary: string = 'git',\n public cwd: string,\n private _scheduler: Scheduler,\n private _plugins: PluginStore\n ) {}\n\n chain(): SimpleGitExecutor {\n return new GitExecutorChain(this, this._scheduler, this._plugins);\n }\n\n push(task: SimpleGitTask): Promise {\n return this._chain.push(task);\n }\n}\n","import { GitError } from './errors/git-error';\nimport { GitResponseError } from './errors/git-response-error';\nimport { SimpleGitTask, SimpleGitTaskCallback } from './types';\nimport { NOOP } from './utils';\n\nexport function taskCallback(\n task: SimpleGitTask,\n response: Promise,\n callback: SimpleGitTaskCallback = NOOP\n) {\n const onSuccess = (data: R) => {\n callback(null, data);\n };\n\n const onError = (err: GitError | GitResponseError) => {\n if (err?.task === task) {\n callback(\n err instanceof GitResponseError ? addDeprecationNoticeToError(err) : err,\n undefined as any\n );\n }\n };\n\n response.then(onSuccess, onError);\n}\n\nfunction addDeprecationNoticeToError(err: GitResponseError) {\n let log = (name: string) => {\n console.warn(\n `simple-git deprecation notice: accessing GitResponseError.${name} should be GitResponseError.git.${name}, this will no longer be available in version 3`\n );\n log = NOOP;\n };\n\n return Object.create(err, Object.getOwnPropertyNames(err.git).reduce(descriptorReducer, {}));\n\n function descriptorReducer(all: PropertyDescriptorMap, name: string): typeof all {\n if (name in err) {\n return all;\n }\n\n all[name] = {\n enumerable: false,\n configurable: false,\n get() {\n log(name);\n return err.git[name];\n },\n };\n\n return all;\n }\n}\n","import { folderExists } from '../utils';\nimport { SimpleGitExecutor } from '../types';\nimport { adhocExecTask } from './task';\n\nexport function changeWorkingDirectoryTask(directory: string, root?: SimpleGitExecutor) {\n return adhocExecTask((instance: SimpleGitExecutor) => {\n if (!folderExists(directory)) {\n throw new Error(`Git.cwd: cannot change to non-directory \"${directory}\"`);\n }\n\n return ((root || instance).cwd = directory);\n });\n}\n","import type { SimpleGit } from '../../../typings';\nimport type { SimpleGitApi } from '../simple-git-api';\nimport { getTrailingOptions, remove, trailingFunctionArgument } from '../utils';\nimport { straightThroughStringTask } from './task';\n\nfunction checkoutTask(args: string[]) {\n const commands = ['checkout', ...args];\n if (commands[1] === '-b' && commands.includes('-B')) {\n commands[1] = remove(commands, '-B');\n }\n\n return straightThroughStringTask(commands);\n}\n\nexport default function (): Pick {\n return {\n checkout(this: SimpleGitApi) {\n return this._runTask(\n checkoutTask(getTrailingOptions(arguments, 1)),\n trailingFunctionArgument(arguments)\n );\n },\n\n checkoutBranch(this: SimpleGitApi, branchName, startPoint) {\n return this._runTask(\n checkoutTask(['-b', branchName, startPoint, ...getTrailingOptions(arguments)]),\n trailingFunctionArgument(arguments)\n );\n },\n\n checkoutLocalBranch(this: SimpleGitApi, branchName) {\n return this._runTask(\n checkoutTask(['-b', branchName, ...getTrailingOptions(arguments)]),\n trailingFunctionArgument(arguments)\n );\n },\n };\n}\n","import { CommitResult } from '../../../typings';\nimport { LineParser, parseStringResponse } from '../utils';\n\nconst parsers: LineParser[] = [\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\n if (!email || !email.includes('@')) {\n return;\n }\n\n result.author = {\n email: email.substr(0, email.length - 1),\n name: parts.join('<').trim(),\n };\n }),\n new LineParser(\n /(\\d+)[^,]*(?:,\\s*(\\d+)[^,]*)(?:,\\s*(\\d+))/g,\n (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 ),\n new LineParser(\n /^(\\d+)[^,]*(?:,\\s*(\\d+)[^(]+\\(([+-]))?/,\n (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\nexport function parseCommitResult(stdOut: string): CommitResult {\n const result: CommitResult = {\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}\n","import type { CommitResult, SimpleGit } from '../../../typings';\nimport type { SimpleGitApi } from '../simple-git-api';\nimport type { StringTask } from '../types';\nimport { parseCommitResult } from '../parsers/parse-commit';\nimport {\n asArray,\n filterArray,\n filterStringOrStringArray,\n filterType,\n getTrailingOptions,\n prefixedArray,\n trailingFunctionArgument,\n} from '../utils';\nimport { configurationErrorTask } from './task';\n\nexport function commitTask(\n message: string[],\n files: string[],\n customArgs: string[]\n): StringTask {\n const commands: string[] = [\n '-c',\n 'core.abbrev=40',\n 'commit',\n ...prefixedArray(message, '-m'),\n ...files,\n ...customArgs,\n ];\n\n return {\n commands,\n format: 'utf-8',\n parser: parseCommitResult,\n };\n}\n\nexport default function (): Pick {\n return {\n commit(this: SimpleGitApi, message: string | string[], ...rest: unknown[]) {\n const next = trailingFunctionArgument(arguments);\n const task =\n rejectDeprecatedSignatures(message) ||\n commitTask(\n asArray(message),\n asArray(filterType(rest[0], filterStringOrStringArray, [])),\n [...filterType(rest[1], filterArray, []), ...getTrailingOptions(arguments, 0, true)]\n );\n\n return this._runTask(task, next);\n },\n };\n\n function rejectDeprecatedSignatures(message?: unknown) {\n return (\n !filterStringOrStringArray(message) &&\n configurationErrorTask(\n `git.commit: requires the commit message to be supplied as a string/string[]`\n )\n );\n }\n}\n","import { straightThroughStringTask } from './task';\nimport { StringTask } from '../types';\n\n/**\n * Task used by `git.hashObject`\n */\nexport function hashObjectTask(filePath: string, write: boolean): StringTask {\n const commands = ['hash-object', filePath];\n if (write) {\n commands.push('-w');\n }\n\n return straightThroughStringTask(commands, true);\n}\n","import { InitResult } from '../../../typings';\n\nexport class InitSummary implements InitResult {\n constructor(\n public readonly bare: boolean,\n public readonly path: string,\n public readonly existing: boolean,\n public readonly gitDir: string\n ) {}\n}\n\nconst initResponseRegex = /^Init.+ repository in (.+)$/;\nconst reInitResponseRegex = /^Rein.+ in (.+)$/;\n\nexport function parseInit(bare: boolean, path: string, text: string) {\n const response = String(text).trim();\n let result;\n\n if ((result = initResponseRegex.exec(response))) {\n return new InitSummary(bare, path, false, result[1]);\n }\n\n if ((result = reInitResponseRegex.exec(response))) {\n return new InitSummary(bare, path, true, result[1]);\n }\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\n return new InitSummary(bare, path, /^re/i.test(response), gitDir);\n}\n","import { InitResult } from '../../../typings';\nimport { parseInit } from '../responses/InitSummary';\nimport { StringTask } from '../types';\n\nconst bareCommand = '--bare';\n\nfunction hasBareCommand(command: string[]) {\n return command.includes(bareCommand);\n}\n\nexport function initTask(bare = false, path: string, customArgs: string[]): StringTask {\n const commands = ['init', ...customArgs];\n if (bare && !hasBareCommand(commands)) {\n commands.splice(1, 0, bareCommand);\n }\n\n return {\n commands,\n format: 'utf-8',\n parser(text: string): InitResult {\n return parseInit(commands.includes('--bare'), path, text);\n },\n };\n}\n","export enum LogFormat {\n NONE = '',\n STAT = '--stat',\n NUM_STAT = '--numstat',\n NAME_ONLY = '--name-only',\n NAME_STATUS = '--name-status',\n}\n\nconst logFormatRegex = /^--(stat|numstat|name-only|name-status)(=|$)/;\n\nexport function logFormatFromCommand(customArgs: string[]) {\n for (let i = 0; i < customArgs.length; i++) {\n const format = logFormatRegex.exec(customArgs[i]);\n if (format) {\n return `--${format[1]}` as LogFormat;\n }\n }\n\n return LogFormat.NONE;\n}\n\nexport function isLogFormat(customArg: string | unknown) {\n return logFormatRegex.test(customArg as string);\n}\n","import { DiffResult, DiffResultBinaryFile, DiffResultTextFile } from '../../../typings';\n\n/***\n * The DiffSummary is returned as a response to getting `git().status()`\n */\nexport class DiffSummary implements DiffResult {\n changed = 0;\n deletions = 0;\n insertions = 0;\n\n files: Array = [];\n}\n","import { DiffResult } from '../../../typings';\nimport { LogFormat } from '../args/log-format';\nimport { DiffSummary } from '../responses/DiffSummary';\nimport { asNumber, LineParser, parseStringResponse } from '../utils';\n\nconst statParser = [\n new LineParser(\n /(.+)\\s+\\|\\s+(\\d+)(\\s+[+\\-]+)?$/,\n (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 ),\n new LineParser(\n /(.+) \\|\\s+Bin ([0-9.]+) -> ([0-9.]+) ([a-z]+)/,\n (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 ),\n new LineParser(\n /(\\d+) files? changed\\s*((?:, \\d+ [^,]+){0,2})/,\n (result, [changed, summary]) => {\n const inserted = /(\\d+) i/.exec(summary);\n const deleted = /(\\d+) d/.exec(summary);\n\n result.changed = asNumber(changed);\n result.insertions = asNumber(inserted?.[1]);\n result.deletions = asNumber(deleted?.[1]);\n }\n ),\n];\n\nconst numStatParser = [\n new LineParser(\n /(\\d+)\\t(\\d+)\\t(.+)$/,\n (result, [changesInsert, changesDelete, file]) => {\n const insertions = asNumber(changesInsert);\n const deletions = asNumber(changesDelete);\n\n result.changed++;\n result.insertions += insertions;\n result.deletions += deletions;\n\n result.files.push({\n file,\n changes: insertions + deletions,\n insertions,\n deletions,\n binary: false,\n });\n }\n ),\n new LineParser(/-\\t-\\t(.+)$/, (result, [file]) => {\n result.changed++;\n\n result.files.push({\n file,\n after: 0,\n before: 0,\n binary: true,\n });\n }),\n];\n\nconst 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\nconst 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\nconst diffSummaryParsers: Record[]> = {\n [LogFormat.NONE]: statParser,\n [LogFormat.STAT]: statParser,\n [LogFormat.NUM_STAT]: numStatParser,\n [LogFormat.NAME_STATUS]: nameStatusParser,\n [LogFormat.NAME_ONLY]: nameOnlyParser,\n};\n\nexport function getDiffParser(format = LogFormat.NONE) {\n const parser = diffSummaryParsers[format];\n\n return (stdOut: string) => parseStringResponse(new DiffSummary(), parser, stdOut, false);\n}\n","import { ListLogLine, LogResult } from '../../../typings';\nimport { toLinesWithContent } from '../utils';\nimport { getDiffParser } from './parse-diff-summary';\nimport { LogFormat } from '../args/log-format';\n\nexport const START_BOUNDARY = 'òòòòòò ';\n\nexport const COMMIT_BOUNDARY = ' òò';\n\nexport const SPLITTER = ' ò ';\n\nconst defaultFieldNames = ['hash', 'date', 'message', 'refs', 'author_name', 'author_email'];\n\nfunction lineBuilder(tokens: string[], fields: string[]): any {\n return fields.reduce((line, field, index) => {\n line[field] = tokens[index] || '';\n return line;\n }, Object.create({ diff: null }) as any);\n}\n\nexport function createListLogSummaryParser(\n splitter = SPLITTER,\n fields = defaultFieldNames,\n logFormat = LogFormat.NONE\n) {\n const parseDiffResult = getDiffParser(logFormat);\n\n return function (stdOut: string): LogResult {\n const all: ReadonlyArray = toLinesWithContent(\n stdOut,\n true,\n START_BOUNDARY\n ).map(function (item) {\n const lineDetail = item.trim().split(COMMIT_BOUNDARY);\n const listLogLine: T & ListLogLine = lineBuilder(\n lineDetail[0].trim().split(splitter),\n fields\n );\n\n if (lineDetail.length > 1 && !!lineDetail[1].trim()) {\n listLogLine.diff = parseDiffResult(lineDetail[1]);\n }\n\n return listLogLine;\n });\n\n return {\n all,\n latest: (all.length && all[0]) || null,\n total: all.length,\n };\n };\n}\n","import { StringTask } from '../types';\nimport { DiffResult } from '../../../typings';\nimport { isLogFormat, LogFormat, logFormatFromCommand } from '../args/log-format';\nimport { getDiffParser } from '../parsers/parse-diff-summary';\nimport { configurationErrorTask, EmptyTask } from './task';\n\nexport function diffSummaryTask(customArgs: string[]): StringTask | EmptyTask {\n let logFormat = logFormatFromCommand(customArgs);\n\n const commands = ['diff'];\n\n if (logFormat === LogFormat.NONE) {\n logFormat = LogFormat.STAT;\n commands.push('--stat=4096');\n }\n\n commands.push(...customArgs);\n\n return (\n validateLogFormatConfig(commands) || {\n commands,\n format: 'utf-8',\n parser: getDiffParser(logFormat),\n }\n );\n}\n\nexport function validateLogFormatConfig(customArgs: unknown[]): EmptyTask | void {\n const flags = customArgs.filter(isLogFormat);\n\n if (flags.length > 1) {\n return configurationErrorTask(\n `Summary flags are mutually exclusive - pick one of ${flags.join(',')}`\n );\n }\n\n if (flags.length && customArgs.includes('-z')) {\n return configurationErrorTask(\n `Summary flag ${flags} parsing is not compatible with null termination option '-z'`\n );\n }\n}\n","import type { Options, StringTask } from '../types';\nimport type { LogResult, SimpleGit } from '../../../typings';\nimport { logFormatFromCommand } from '../args/log-format';\nimport {\n COMMIT_BOUNDARY,\n createListLogSummaryParser,\n SPLITTER,\n START_BOUNDARY,\n} from '../parsers/parse-list-log-summary';\nimport {\n appendTaskOptions,\n filterArray,\n filterPrimitives,\n filterString,\n filterType,\n trailingFunctionArgument,\n trailingOptionsArgument,\n} from '../utils';\nimport { SimpleGitApi } from '../simple-git-api';\nimport { configurationErrorTask } from './task';\nimport { validateLogFormatConfig } from './diff';\n\nenum excludeOptions {\n '--pretty',\n 'max-count',\n 'maxCount',\n 'n',\n 'file',\n 'format',\n 'from',\n 'to',\n 'splitter',\n 'symmetric',\n 'mailMap',\n 'multiLine',\n 'strictDate',\n}\n\nexport interface DefaultLogFields {\n hash: string;\n date: string;\n message: string;\n refs: string;\n body: string;\n author_name: string;\n author_email: string;\n}\n\nexport type LogOptions = {\n file?: string;\n format?: T;\n from?: string;\n mailMap?: boolean;\n maxCount?: number;\n multiLine?: boolean;\n splitter?: string;\n strictDate?: boolean;\n symmetric?: boolean;\n to?: string;\n};\n\ninterface ParsedLogOptions {\n fields: string[];\n splitter: string;\n commands: string[];\n}\n\nfunction prettyFormat(\n format: Record,\n splitter: string\n): [string[], string] {\n const fields: string[] = [];\n const formatStr: string[] = [];\n\n Object.keys(format).forEach((field) => {\n fields.push(field);\n formatStr.push(String(format[field]));\n });\n\n return [fields, formatStr.join(splitter)];\n}\n\nfunction userOptions(input: T): Options {\n return Object.keys(input).reduce((out, key) => {\n if (!(key in excludeOptions)) {\n out[key] = input[key];\n }\n return out;\n }, {} as Options);\n}\n\nexport function parseLogOptions(\n opt: Options | LogOptions = {},\n customArgs: string[] = []\n): ParsedLogOptions {\n const splitter = filterType(opt.splitter, filterString, SPLITTER);\n const format =\n !filterPrimitives(opt.format) && opt.format\n ? opt.format\n : {\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\n const [fields, formatStr] = prettyFormat(format, splitter);\n\n const suffix: string[] = [];\n const command: string[] = [\n `--pretty=format:${START_BOUNDARY}${formatStr}${COMMIT_BOUNDARY}`,\n ...customArgs,\n ];\n\n const maxCount: number | undefined = (opt as any).n || (opt as any)['max-count'] || opt.maxCount;\n if (maxCount) {\n command.push(`--max-count=${maxCount}`);\n }\n\n if (opt.from || opt.to) {\n const rangeOperator = opt.symmetric !== false ? '...' : '..';\n suffix.push(`${opt.from || ''}${rangeOperator}${opt.to || ''}`);\n }\n\n if (filterString(opt.file)) {\n suffix.push('--follow', opt.file);\n }\n\n appendTaskOptions(userOptions(opt as Options), command);\n\n return {\n fields,\n splitter,\n commands: [...command, ...suffix],\n };\n}\n\nexport function logTask(\n splitter: string,\n fields: string[],\n customArgs: string[]\n): StringTask> {\n const parser = createListLogSummaryParser(splitter, fields, logFormatFromCommand(customArgs));\n\n return {\n commands: ['log', ...customArgs],\n format: 'utf-8',\n parser,\n };\n}\n\nexport default function (): Pick {\n return {\n log(this: SimpleGitApi, ...rest: unknown[]) {\n const next = trailingFunctionArgument(arguments);\n const options = parseLogOptions(\n trailingOptionsArgument(arguments),\n filterType(arguments[0], filterArray)\n );\n const task =\n rejectDeprecatedSignatures(...rest) ||\n validateLogFormatConfig(options.commands) ||\n createLogTask(options);\n\n return this._runTask(task, next);\n },\n };\n\n function createLogTask(options: ParsedLogOptions) {\n return logTask(options.splitter, options.fields, options.commands);\n }\n\n function rejectDeprecatedSignatures(from?: unknown, to?: unknown) {\n return (\n filterString(from) &&\n filterString(to) &&\n configurationErrorTask(\n `git.log(string, string) should be replaced with git.log({ from: string, to: string })`\n )\n );\n }\n}\n","import {\n MergeConflict,\n MergeConflictDeletion,\n MergeDetail,\n MergeResultStatus,\n} from '../../../typings';\n\nexport class MergeSummaryConflict implements MergeConflict {\n constructor(\n public readonly reason: string,\n public readonly file: string | null = null,\n public readonly meta?: MergeConflictDeletion\n ) {}\n\n toString() {\n return `${this.file}:${this.reason}`;\n }\n}\n\nexport class MergeSummaryDetail implements MergeDetail {\n public conflicts: MergeConflict[] = [];\n public merges: string[] = [];\n public result: MergeResultStatus = 'success';\n\n get failed() {\n return this.conflicts.length > 0;\n }\n\n get reason() {\n return this.result;\n }\n\n toString() {\n if (this.conflicts.length) {\n return `CONFLICTS: ${this.conflicts.join(', ')}`;\n }\n\n return 'OK';\n }\n}\n","import {\n PullDetailFileChanges,\n PullDetailSummary,\n PullFailedResult,\n PullResult,\n} from '../../../typings';\n\nexport class PullSummary implements PullResult {\n public remoteMessages = {\n all: [],\n };\n public created = [];\n public deleted: string[] = [];\n public files: string[] = [];\n public deletions: PullDetailFileChanges = {};\n public insertions: PullDetailFileChanges = {};\n public summary: PullDetailSummary = {\n changes: 0,\n deletions: 0,\n insertions: 0,\n };\n}\n\nexport class PullFailedSummary implements PullFailedResult {\n remote = '';\n hash = {\n local: '',\n remote: '',\n };\n branch = {\n local: '',\n remote: '',\n };\n message = '';\n\n toString() {\n return this.message;\n }\n}\n","import {\n RemoteMessageResult,\n RemoteMessages,\n RemoteMessagesObjectEnumeration,\n} from '../../../typings';\nimport { asNumber, RemoteLineParser } from '../utils';\n\nfunction objectEnumerationResult(\n remoteMessages: T\n): RemoteMessagesObjectEnumeration {\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}\n\nfunction asObjectCount(source: string) {\n const count = /^\\s*(\\d+)/.exec(source);\n const delta = /delta (\\d+)/i.exec(source);\n\n return {\n count: asNumber((count && count[1]) || '0'),\n delta: asNumber((delta && delta[1]) || '0'),\n };\n}\n\nexport const remoteMessagesObjectParsers: RemoteLineParser>[] =\n [\n new RemoteLineParser(\n /^remote:\\s*(enumerating|counting|compressing) objects: (\\d+),/i,\n (result, [action, count]) => {\n const key = action.toLowerCase();\n const enumeration = objectEnumerationResult(result.remoteMessages);\n\n Object.assign(enumeration, { [key]: asNumber(count) });\n }\n ),\n new RemoteLineParser(\n /^remote:\\s*(enumerating|counting|compressing) objects: \\d+% \\(\\d+\\/(\\d+)\\),/i,\n (result, [action, count]) => {\n const key = action.toLowerCase();\n const enumeration = objectEnumerationResult(result.remoteMessages);\n\n Object.assign(enumeration, { [key]: asNumber(count) });\n }\n ),\n new RemoteLineParser(\n /total ([^,]+), reused ([^,]+), pack-reused (\\d+)/i,\n (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","import { PushResultRemoteMessages, RemoteMessageResult, RemoteMessages } from '../../../typings';\nimport { asNumber, parseStringResponse, RemoteLineParser } from '../utils';\nimport { remoteMessagesObjectParsers } from './parse-remote-objects';\n\nconst parsers: RemoteLineParser>[] =\n [\n new RemoteLineParser(/^remote:\\s*(.+)$/, (result, [text]) => {\n result.remoteMessages.all.push(text.trim());\n return false;\n }),\n ...remoteMessagesObjectParsers,\n new RemoteLineParser(\n [/create a (?:pull|merge) request/i, /\\s(https?:\\/\\/\\S+)$/],\n (result, [pullRequestUrl]) => {\n (result.remoteMessages as PushResultRemoteMessages).pullRequestUrl = pullRequestUrl;\n }\n ),\n new RemoteLineParser(\n [/found (\\d+) vulnerabilities.+\\(([^)]+)\\)/i, /\\s(https?:\\/\\/\\S+)$/],\n (result, [count, summary, url]) => {\n (result.remoteMessages as PushResultRemoteMessages).vulnerabilities = {\n count: asNumber(count),\n summary,\n url,\n };\n }\n ),\n ];\n\nexport function parseRemoteMessages(\n _stdOut: string,\n stdErr: string\n): RemoteMessageResult {\n return parseStringResponse({ remoteMessages: new RemoteMessageSummary() as T }, parsers, stdErr);\n}\n\nexport class RemoteMessageSummary implements RemoteMessages {\n public readonly all: string[] = [];\n}\n","import { PullDetail, PullFailedResult, PullResult, RemoteMessages } from '../../../typings';\nimport { PullFailedSummary, PullSummary } from '../responses/PullSummary';\nimport { TaskParser } from '../types';\nimport { append, LineParser, parseStringResponse } from '../utils';\nimport { parseRemoteMessages } from './parse-remote-messages';\n\nconst FILE_UPDATE_REGEX = /^\\s*(.+?)\\s+\\|\\s+\\d+\\s*(\\+*)(-*)/;\nconst SUMMARY_REGEX = /(\\d+)\\D+((\\d+)\\D+\\(\\+\\))?(\\D+(\\d+)\\D+\\(-\\))?/;\nconst ACTION_REGEX = /^(create|delete) mode \\d+ (.+)/;\n\nconst parsers: LineParser[] = [\n new LineParser(FILE_UPDATE_REGEX, (result, [file, insertions, deletions]) => {\n result.files.push(file);\n\n if (insertions) {\n result.insertions[file] = insertions.length;\n }\n\n if (deletions) {\n result.deletions[file] = deletions.length;\n }\n }),\n new LineParser(SUMMARY_REGEX, (result, [changes, , insertions, , deletions]) => {\n if (insertions !== undefined || deletions !== undefined) {\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\nconst errorParsers: LineParser[] = [\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(\n /([a-z0-9]+)\\.\\.([a-z0-9]+)\\s+(\\S+)\\s+->\\s+(\\S+)$/,\n (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];\n\nexport const parsePullDetail: TaskParser = (stdOut, stdErr) => {\n return parseStringResponse(new PullSummary(), parsers, [stdOut, stdErr]);\n};\n\nexport const parsePullResult: TaskParser = (stdOut, stdErr) => {\n return Object.assign(\n new PullSummary(),\n parsePullDetail(stdOut, stdErr),\n parseRemoteMessages(stdOut, stdErr)\n );\n};\n\nexport function parsePullErrorResult(stdOut: string, stdErr: string) {\n const pullError = parseStringResponse(new PullFailedSummary(), errorParsers, [stdOut, stdErr]);\n\n return pullError.message && pullError;\n}\n","import { MergeDetail, MergeResult } from '../../../typings';\nimport { MergeSummaryConflict, MergeSummaryDetail } from '../responses/MergeSummary';\nimport { TaskParser } from '../types';\nimport { LineParser, parseStringResponse } from '../utils';\nimport { parsePullResult } from './parse-pull';\n\nconst parsers: LineParser[] = [\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(\n /^CONFLICT\\s+\\((.+\\/delete)\\): (.+) deleted in (.+) and/,\n (summary, [reason, file, deleteRef]) => {\n summary.conflicts.push(new MergeSummaryConflict(reason, file, { deleteRef }));\n }\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\n/**\n * Parse the complete response from `git.merge`\n */\nexport const parseMergeResult: TaskParser = (stdOut, stdErr) => {\n return Object.assign(parseMergeDetail(stdOut, stdErr), parsePullResult(stdOut, stdErr));\n};\n\n/**\n * Parse the merge specific detail (ie: not the content also available in the pull detail) from `git.mnerge`\n * @param stdOut\n */\nexport const parseMergeDetail: TaskParser = (stdOut) => {\n return parseStringResponse(new MergeSummaryDetail(), parsers, stdOut);\n};\n","import { MergeResult } from '../../../typings';\nimport { GitResponseError } from '../errors/git-response-error';\nimport { parseMergeResult } from '../parsers/parse-merge';\nimport { StringTask } from '../types';\nimport { configurationErrorTask, EmptyTask } from './task';\n\nexport function mergeTask(customArgs: string[]): EmptyTask | StringTask {\n if (!customArgs.length) {\n return configurationErrorTask('Git.merge requires at least one option');\n }\n\n return {\n commands: ['merge', ...customArgs],\n format: 'utf-8',\n parser(stdOut, stdErr): MergeResult {\n const merge = parseMergeResult(stdOut, stdErr);\n if (merge.failed) {\n throw new GitResponseError(merge);\n }\n\n return merge;\n },\n };\n}\n","import {\n PushDetail,\n PushResult,\n PushResultPushedItem,\n PushResultRemoteMessages,\n} from '../../../typings';\nimport { TaskParser } from '../types';\nimport { LineParser, parseStringResponse } from '../utils';\nimport { parseRemoteMessages } from './parse-remote-messages';\n\nfunction pushResultPushedItem(local: string, remote: string, status: string): PushResultPushedItem {\n const deleted = status.includes('deleted');\n const tag = status.includes('tag') || /^refs\\/tags/.test(local);\n const alreadyUpdated = !status.includes('new');\n\n return {\n deleted,\n tag,\n branch: !tag,\n new: !alreadyUpdated,\n alreadyUpdated,\n local,\n remote,\n };\n}\n\nconst parsers: LineParser[] = [\n new LineParser(/^Pushing to (.+)$/, (result, [repo]) => {\n result.repo = repo;\n }),\n new LineParser(/^updating local tracking ref '(.+)'/, (result, [local]) => {\n result.ref = {\n ...(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(\n /^Branch '([^']+)' set up to track remote branch '([^']+)' from '([^']+)'/,\n (result, [local, remote, remoteName]) => {\n result.branch = {\n ...(result.branch || {}),\n local,\n remote,\n remoteName,\n };\n }\n ),\n new LineParser(\n /^([^:]+):(\\S+)\\s+([a-z0-9]+)\\.\\.([a-z0-9]+)$/,\n (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];\n\nexport const parsePushResult: TaskParser = (stdOut, stdErr) => {\n const pushDetail = parsePushDetail(stdOut, stdErr);\n const responseDetail = parseRemoteMessages(stdOut, stdErr);\n\n return {\n ...pushDetail,\n ...responseDetail,\n };\n};\n\nexport const parsePushDetail: TaskParser = (stdOut, stdErr) => {\n return parseStringResponse({ pushed: [] }, parsers, [stdOut, stdErr]);\n};\n","import { PushResult } from '../../../typings';\nimport { parsePushResult as parser } from '../parsers/parse-push';\nimport { StringTask } from '../types';\nimport { append, remove } from '../utils';\n\ntype PushRef = { remote?: string; branch?: string };\n\nexport function pushTagsTask(ref: PushRef = {}, customArgs: string[]): StringTask {\n append(customArgs, '--tags');\n return pushTask(ref, customArgs);\n}\n\nexport function pushTask(ref: PushRef = {}, customArgs: string[]): StringTask {\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\n remove(commands, '-v');\n append(commands, '--verbose');\n append(commands, '--porcelain');\n\n return {\n commands,\n format: 'utf-8',\n parser,\n };\n}\n","import { SimpleGit } from '../../../typings';\nimport { SimpleGitApi } from '../simple-git-api';\nimport { getTrailingOptions, trailingFunctionArgument } from '../utils';\nimport { straightThroughBufferTask, straightThroughStringTask } from './task';\n\nexport default function (): Pick {\n return {\n showBuffer(this: SimpleGitApi) {\n const commands = ['show', ...getTrailingOptions(arguments, 1)];\n if (!commands.includes('--binary')) {\n commands.splice(1, 0, '--binary');\n }\n\n return this._runTask(\n straightThroughBufferTask(commands),\n trailingFunctionArgument(arguments)\n );\n },\n\n show(this: SimpleGitApi) {\n const commands = ['show', ...getTrailingOptions(arguments, 1)];\n return this._runTask(\n straightThroughStringTask(commands),\n trailingFunctionArgument(arguments)\n );\n },\n };\n}\n","import { FileStatusResult } from '../../../typings';\n\nexport const fromPathRegex = /^(.+) -> (.+)$/;\n\nexport class FileStatusSummary implements FileStatusResult {\n public readonly from: string | undefined;\n\n constructor(public path: string, public index: string, public working_dir: string) {\n if ('R' === index + working_dir) {\n const detail = fromPathRegex.exec(path) || [null, path, path];\n this.from = detail[1] || '';\n this.path = detail[2] || '';\n }\n }\n}\n","import { StatusResult } from '../../../typings';\nimport { append, NULL } from '../utils';\nimport { FileStatusSummary } from './FileStatusSummary';\n\ntype StatusLineParser = (result: StatusResult, file: string) => void;\n\nexport class StatusSummary implements StatusResult {\n public not_added = [];\n public conflicted = [];\n public created = [];\n public deleted = [];\n public ignored = undefined;\n public modified = [];\n public renamed = [];\n public files = [];\n public staged = [];\n public ahead = 0;\n public behind = 0;\n public current = null;\n public tracking = null;\n public detached = false;\n\n public isClean = () => {\n return !this.files.length;\n };\n}\n\nenum PorcelainFileStatus {\n ADDED = 'A',\n DELETED = 'D',\n MODIFIED = 'M',\n RENAMED = 'R',\n COPIED = 'C',\n UNMERGED = 'U',\n UNTRACKED = '?',\n IGNORED = '!',\n NONE = ' ',\n}\n\nfunction renamedFile(line: string) {\n const [to, from] = line.split(NULL);\n\n return {\n from: from || to,\n to,\n };\n}\n\nfunction parser(\n indexX: PorcelainFileStatus,\n indexY: PorcelainFileStatus,\n handler: StatusLineParser\n): [string, StatusLineParser] {\n return [`${indexX}${indexY}`, handler];\n}\n\nfunction conflicts(indexX: PorcelainFileStatus, ...indexY: PorcelainFileStatus[]) {\n return indexY.map((y) => parser(indexX, y, (result, file) => append(result.conflicted, file)));\n}\n\nconst parsers: Map = new Map([\n parser(PorcelainFileStatus.NONE, PorcelainFileStatus.ADDED, (result, file) =>\n append(result.created, file)\n ),\n parser(PorcelainFileStatus.NONE, PorcelainFileStatus.DELETED, (result, file) =>\n append(result.deleted, file)\n ),\n parser(PorcelainFileStatus.NONE, PorcelainFileStatus.MODIFIED, (result, file) =>\n append(result.modified, file)\n ),\n\n parser(\n PorcelainFileStatus.ADDED,\n PorcelainFileStatus.NONE,\n (result, file) => append(result.created, file) && append(result.staged, file)\n ),\n parser(\n PorcelainFileStatus.ADDED,\n PorcelainFileStatus.MODIFIED,\n (result, file) =>\n append(result.created, file) &&\n append(result.staged, file) &&\n append(result.modified, file)\n ),\n\n parser(\n PorcelainFileStatus.DELETED,\n PorcelainFileStatus.NONE,\n (result, file) => append(result.deleted, file) && append(result.staged, file)\n ),\n\n parser(\n PorcelainFileStatus.MODIFIED,\n PorcelainFileStatus.NONE,\n (result, file) => append(result.modified, file) && append(result.staged, file)\n ),\n parser(\n PorcelainFileStatus.MODIFIED,\n PorcelainFileStatus.MODIFIED,\n (result, file) => append(result.modified, file) && append(result.staged, file)\n ),\n\n parser(PorcelainFileStatus.RENAMED, PorcelainFileStatus.NONE, (result, file) => {\n append(result.renamed, renamedFile(file));\n }),\n parser(PorcelainFileStatus.RENAMED, PorcelainFileStatus.MODIFIED, (result, file) => {\n const renamed = renamedFile(file);\n append(result.renamed, renamed);\n append(result.modified, renamed.to);\n }),\n parser(PorcelainFileStatus.IGNORED, PorcelainFileStatus.IGNORED, (_result, _file) => {\n append((_result.ignored = _result.ignored || []), _file);\n }),\n\n parser(PorcelainFileStatus.UNTRACKED, PorcelainFileStatus.UNTRACKED, (result, file) =>\n append(result.not_added, file)\n ),\n\n ...conflicts(PorcelainFileStatus.ADDED, PorcelainFileStatus.ADDED, PorcelainFileStatus.UNMERGED),\n ...conflicts(\n PorcelainFileStatus.DELETED,\n PorcelainFileStatus.DELETED,\n PorcelainFileStatus.UNMERGED\n ),\n ...conflicts(\n PorcelainFileStatus.UNMERGED,\n PorcelainFileStatus.ADDED,\n PorcelainFileStatus.DELETED,\n PorcelainFileStatus.UNMERGED\n ),\n\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\n regexResult = aheadReg.exec(line);\n result.ahead = (regexResult && +regexResult[1]) || 0;\n\n regexResult = behindReg.exec(line);\n result.behind = (regexResult && +regexResult[1]) || 0;\n\n regexResult = currentReg.exec(line);\n result.current = regexResult && regexResult[1];\n\n regexResult = trackingReg.exec(line);\n result.tracking = regexResult && regexResult[1];\n\n regexResult = onEmptyBranchReg.exec(line);\n result.current = (regexResult && regexResult[1]) || result.current;\n\n result.detached = /\\(no branch\\)/.test(line);\n },\n ],\n]);\n\nexport const parseStatusSummary = function (text: string): StatusResult {\n const lines = text.split(NULL);\n const status = new StatusSummary();\n\n for (let i = 0, l = lines.length; i < l; ) {\n let line = lines[i++].trim();\n\n if (!line) {\n continue;\n }\n\n if (line.charAt(0) === PorcelainFileStatus.RENAMED) {\n line += NULL + (lines[i++] || '');\n }\n\n splitLine(status, line);\n }\n\n return status;\n};\n\nfunction splitLine(result: StatusResult, lineStr: string) {\n const trimmed = lineStr.trim();\n switch (' ') {\n case trimmed.charAt(2):\n return data(trimmed.charAt(0), trimmed.charAt(1), trimmed.substr(3));\n case trimmed.charAt(1):\n return data(PorcelainFileStatus.NONE, trimmed.charAt(0), trimmed.substr(2));\n default:\n return;\n }\n\n function data(index: string, workingDir: string, path: string) {\n const raw = `${index}${workingDir}`;\n const handler = parsers.get(raw);\n\n if (handler) {\n handler(result, path);\n }\n\n if (raw !== '##' && raw !== '!!') {\n result.files.push(new FileStatusSummary(path.replace(/\\0.+$/, ''), index, workingDir));\n }\n }\n}\n","import { StatusResult } from '../../../typings';\nimport { parseStatusSummary } from '../responses/StatusSummary';\nimport { StringTask } from '../types';\n\nconst ignoredOptions = ['--null', '-z'];\n\nexport function statusTask(customArgs: string[]): StringTask {\n const commands = [\n 'status',\n '--porcelain',\n '-b',\n '-u',\n '--null',\n ...customArgs.filter((arg) => !ignoredOptions.includes(arg)),\n ];\n\n return {\n format: 'utf-8',\n commands,\n parser(text: string) {\n return parseStatusSummary(text);\n },\n };\n}\n","import type { SimpleGitApi } from '../simple-git-api';\nimport type { SimpleGit } from '../../../typings';\nimport { asNumber, ExitCodes, LineParser, parseStringResponse } from '../utils';\n\nexport interface VersionResult {\n major: number;\n minor: number;\n patch: number | string;\n agent: string;\n installed: boolean;\n}\n\nconst NOT_INSTALLED = 'installed=false';\n\nfunction versionResponse(\n major = 0,\n minor = 0,\n patch: string | number = 0,\n agent = '',\n installed = true\n): VersionResult {\n return Object.defineProperty(\n {\n major,\n minor,\n patch,\n agent,\n installed,\n },\n 'toString',\n {\n value() {\n return `${this.major}.${this.minor}.${this.patch}`;\n },\n configurable: false,\n enumerable: false,\n }\n );\n}\n\nfunction notInstalledResponse() {\n return versionResponse(0, 0, 0, '', false);\n}\n\nexport default function (): Pick {\n return {\n version(this: SimpleGitApi) {\n return this._runTask({\n commands: ['--version'],\n format: 'utf-8',\n parser: versionParser,\n onError(result, error, done, fail) {\n if (result.exitCode === ExitCodes.NOT_FOUND) {\n return done(Buffer.from(NOT_INSTALLED));\n }\n\n fail(error);\n },\n });\n },\n };\n}\n\nconst parsers: LineParser[] = [\n new LineParser(\n /version (\\d+)\\.(\\d+)\\.(\\d+)(?:\\s*\\((.+)\\))?/,\n (result, [major, minor, patch, agent = '']) => {\n Object.assign(\n result,\n versionResponse(asNumber(major), asNumber(minor), asNumber(patch), agent)\n );\n }\n ),\n new LineParser(\n /version (\\d+)\\.(\\d+)\\.(\\D+)(.+)?$/,\n (result, [major, minor, patch, agent = '']) => {\n Object.assign(result, versionResponse(asNumber(major), asNumber(minor), patch, agent));\n }\n ),\n];\n\nfunction versionParser(stdOut: string) {\n if (stdOut === NOT_INSTALLED) {\n return notInstalledResponse();\n }\n\n return parseStringResponse(versionResponse(0, 0, 0, stdOut), parsers, stdOut);\n}\n","import { SimpleGitBase } from '../../typings';\nimport { taskCallback } from './task-callback';\nimport { changeWorkingDirectoryTask } from './tasks/change-working-directory';\nimport checkout from './tasks/checkout';\nimport commit from './tasks/commit';\nimport config from './tasks/config';\nimport grep from './tasks/grep';\nimport { hashObjectTask } from './tasks/hash-object';\nimport { initTask } from './tasks/init';\nimport log from './tasks/log';\nimport { mergeTask } from './tasks/merge';\nimport { pushTask } from './tasks/push';\nimport show from './tasks/show';\nimport { statusTask } from './tasks/status';\nimport { configurationErrorTask, straightThroughStringTask } from './tasks/task';\nimport version from './tasks/version';\nimport { outputHandler, SimpleGitExecutor, SimpleGitTask, SimpleGitTaskCallback } from './types';\nimport {\n asArray,\n filterString,\n filterType,\n getTrailingOptions,\n trailingFunctionArgument,\n} from './utils';\n\nexport class SimpleGitApi implements SimpleGitBase {\n constructor(private _executor: SimpleGitExecutor) {}\n\n protected _runTask(task: SimpleGitTask, then?: SimpleGitTaskCallback) {\n const chain = this._executor.chain();\n const promise = chain.push(task);\n\n if (then) {\n taskCallback(task, promise, then);\n }\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\n add(files: string | string[]) {\n return this._runTask(\n straightThroughStringTask(['add', ...asArray(files)]),\n trailingFunctionArgument(arguments)\n );\n }\n\n cwd(directory: string | { path: string; root?: boolean }) {\n const next = trailingFunctionArgument(arguments);\n\n if (typeof directory === 'string') {\n return this._runTask(changeWorkingDirectoryTask(directory, this._executor), next);\n }\n\n if (typeof directory?.path === 'string') {\n return this._runTask(\n changeWorkingDirectoryTask(\n directory.path,\n (directory.root && this._executor) || undefined\n ),\n next\n );\n }\n\n return this._runTask(\n configurationErrorTask('Git.cwd: workingDirectory must be supplied as a string'),\n next\n );\n }\n\n hashObject(path: string, write: boolean | unknown) {\n return this._runTask(\n hashObjectTask(path, write === true),\n trailingFunctionArgument(arguments)\n );\n }\n\n init(bare?: boolean | unknown) {\n return this._runTask(\n initTask(bare === true, this._executor.cwd, getTrailingOptions(arguments)),\n trailingFunctionArgument(arguments)\n );\n }\n\n merge() {\n return this._runTask(\n mergeTask(getTrailingOptions(arguments)),\n trailingFunctionArgument(arguments)\n );\n }\n\n mergeFromTo(remote: string, branch: string) {\n if (!(filterString(remote) && filterString(branch))) {\n return this._runTask(\n configurationErrorTask(\n `Git.mergeFromTo requires that the 'remote' and 'branch' arguments are supplied as strings`\n )\n );\n }\n\n return this._runTask(\n mergeTask([remote, branch, ...getTrailingOptions(arguments)]),\n trailingFunctionArgument(arguments, false)\n );\n }\n\n outputHandler(handler: outputHandler) {\n this._executor.outputHandler = handler;\n return this;\n }\n\n push() {\n const task = pushTask(\n {\n remote: filterType(arguments[0], filterString),\n branch: filterType(arguments[1], filterString),\n },\n getTrailingOptions(arguments)\n );\n\n return this._runTask(task, trailingFunctionArgument(arguments));\n }\n\n stash() {\n return this._runTask(\n straightThroughStringTask(['stash', ...getTrailingOptions(arguments)]),\n trailingFunctionArgument(arguments)\n );\n }\n\n status() {\n return this._runTask(\n statusTask(getTrailingOptions(arguments)),\n trailingFunctionArgument(arguments)\n );\n }\n}\n\nObject.assign(\n SimpleGitApi.prototype,\n checkout(),\n commit(),\n config(),\n grep(),\n log(),\n show(),\n version()\n);\n","import { append, remove } from '../utils';\nimport { createDeferred, DeferredPromise } from '@kwsites/promise-deferred';\nimport { createLogger } from '../git-logger';\n\ntype ScheduleCompleteCallback = () => void;\ntype ScheduledTask = Pick, 'promise' | 'done'> & {\n id: number;\n};\n\nconst createScheduledTask: () => ScheduledTask = (() => {\n let id = 0;\n return () => {\n id++;\n const { promise, done } = createDeferred();\n\n return {\n promise,\n done,\n id,\n };\n };\n})();\n\nexport class Scheduler {\n private logger = createLogger('', 'scheduler');\n private pending: ScheduledTask[] = [];\n private running: ScheduledTask[] = [];\n\n constructor(private concurrency = 2) {\n this.logger(`Constructed, concurrency=%s`, concurrency);\n }\n\n private schedule() {\n if (!this.pending.length || this.running.length >= this.concurrency) {\n this.logger(\n `Schedule attempt ignored, pending=%s running=%s concurrency=%s`,\n this.pending.length,\n this.running.length,\n this.concurrency\n );\n return;\n }\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\n next(): Promise {\n const { promise, id } = append(this.pending, createScheduledTask());\n this.logger(`Scheduling id=%s`, id);\n\n this.schedule();\n\n return promise;\n }\n}\n","import { straightThroughStringTask } from './task';\nimport { OptionFlags, Options, StringTask } from '../types';\n\nexport type ApplyOptions = Options &\n OptionFlags<\n | '--stat'\n | '--numstat'\n | '--summary'\n | '--check'\n | '--index'\n | '--intent-to-add'\n | '--3way'\n | '--apply'\n | '--no-add'\n | '-R'\n | '--reverse'\n | '--allow-binary-replacement'\n | '--binary'\n | '--reject'\n | '-z'\n | '--inaccurate-eof'\n | '--recount'\n | '--cached'\n | '--ignore-space-change'\n | '--ignore-whitespace'\n | '--verbose'\n | '--unsafe-paths'\n > &\n OptionFlags<'--whitespace', 'nowarn' | 'warn' | 'fix' | 'error' | 'error-all'> &\n OptionFlags<'--build-fake-ancestor' | '--exclude' | '--include' | '--directory', string> &\n OptionFlags<'-p' | '-C', number>;\n\nexport function applyPatchTask(patches: string[], customArgs: string[]): StringTask {\n return straightThroughStringTask(['apply', ...customArgs, ...patches]);\n}\n","import {\n BranchMultiDeleteResult,\n BranchSingleDeleteFailure,\n BranchSingleDeleteResult,\n BranchSingleDeleteSuccess,\n} from '../../../typings';\n\nexport class BranchDeletionBatch implements BranchMultiDeleteResult {\n all: BranchSingleDeleteResult[] = [];\n branches: { [branchName: string]: BranchSingleDeleteResult } = {};\n errors: BranchSingleDeleteResult[] = [];\n\n get success(): boolean {\n return !this.errors.length;\n }\n}\n\nexport function branchDeletionSuccess(branch: string, hash: string): BranchSingleDeleteSuccess {\n return {\n branch,\n hash,\n success: true,\n };\n}\n\nexport function branchDeletionFailure(branch: string): BranchSingleDeleteFailure {\n return {\n branch,\n hash: null,\n success: false,\n };\n}\n\nexport function isSingleBranchDeleteFailure(\n test: BranchSingleDeleteResult\n): test is BranchSingleDeleteSuccess {\n return test.success;\n}\n","import { BranchMultiDeleteResult } from '../../../typings';\nimport {\n BranchDeletionBatch,\n branchDeletionFailure,\n branchDeletionSuccess,\n} from '../responses/BranchDeleteSummary';\nimport { TaskParser } from '../types';\nimport { ExitCodes, LineParser, parseStringResponse } from '../utils';\n\nconst deleteSuccessRegex = /(\\S+)\\s+\\(\\S+\\s([^)]+)\\)/;\nconst deleteErrorRegex = /^error[^']+'([^']+)'/m;\n\nconst parsers: LineParser[] = [\n new LineParser(deleteSuccessRegex, (result, [branch, hash]) => {\n const deletion = branchDeletionSuccess(branch, hash);\n\n result.all.push(deletion);\n result.branches[branch] = deletion;\n }),\n new LineParser(deleteErrorRegex, (result, [branch]) => {\n const deletion = branchDeletionFailure(branch);\n\n result.errors.push(deletion);\n result.all.push(deletion);\n result.branches[branch] = deletion;\n }),\n];\n\nexport const parseBranchDeletions: TaskParser = (\n stdOut,\n stdErr\n) => {\n return parseStringResponse(new BranchDeletionBatch(), parsers, [stdOut, stdErr]);\n};\n\nexport function hasBranchDeletionError(data: string, processExitCode: ExitCodes): boolean {\n return processExitCode === ExitCodes.ERROR && deleteErrorRegex.test(data);\n}\n","import type { BranchSummary, BranchSummaryBranch } from '../../../typings';\n\nexport enum BranchStatusIdentifier {\n CURRENT = '*',\n LINKED = '+',\n}\n\nexport class BranchSummaryResult implements BranchSummary {\n public all: string[] = [];\n public branches: { [p: string]: BranchSummaryBranch } = {};\n public current: string = '';\n public detached: boolean = false;\n\n push(\n status: BranchStatusIdentifier | unknown,\n detached: boolean,\n name: string,\n commit: string,\n label: string\n ) {\n if (status === BranchStatusIdentifier.CURRENT) {\n this.detached = detached;\n this.current = name;\n }\n\n this.all.push(name);\n this.branches[name] = {\n current: status === BranchStatusIdentifier.CURRENT,\n linkedWorkTree: status === BranchStatusIdentifier.LINKED,\n name,\n commit,\n label,\n };\n }\n}\n","import type { BranchSummary } from '../../../typings';\nimport { BranchSummaryResult } from '../responses/BranchSummary';\nimport { LineParser, parseStringResponse } from '../utils';\n\nconst parsers: LineParser[] = [\n new LineParser(\n /^([*+]\\s)?\\((?:HEAD )?detached (?:from|at) (\\S+)\\)\\s+([a-z0-9]+)\\s(.*)$/,\n (result, [current, name, commit, label]) => {\n result.push(branchStatus(current), true, name, commit, label);\n }\n ),\n new LineParser(\n /^([*+]\\s)?(\\S+)\\s+([a-z0-9]+)\\s?(.*)$/s,\n (result, [current, name, commit, label]) => {\n result.push(branchStatus(current), false, name, commit, label);\n }\n ),\n];\n\nfunction branchStatus(input?: string) {\n return input ? input.charAt(0) : '';\n}\n\nexport function parseBranchSummary(stdOut: string): BranchSummary {\n return parseStringResponse(new BranchSummaryResult(), parsers, stdOut);\n}\n","import { BranchMultiDeleteResult, BranchSingleDeleteResult, BranchSummary } from '../../../typings';\nimport { StringTask } from '../types';\nimport { GitResponseError } from '../errors/git-response-error';\nimport { hasBranchDeletionError, parseBranchDeletions } from '../parsers/parse-branch-delete';\nimport { parseBranchSummary } from '../parsers/parse-branch';\nimport { bufferToString } from '../utils';\n\nexport function containsDeleteBranchCommand(commands: string[]) {\n const deleteCommands = ['-d', '-D', '--delete'];\n return commands.some((command) => deleteCommands.includes(command));\n}\n\nexport function branchTask(\n customArgs: string[]\n): StringTask {\n const isDelete = containsDeleteBranchCommand(customArgs);\n const commands = ['branch', ...customArgs];\n\n if (commands.length === 1) {\n commands.push('-a');\n }\n\n if (!commands.includes('-v')) {\n commands.splice(1, 0, '-v');\n }\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\n return parseBranchSummary(stdOut);\n },\n };\n}\n\nexport function branchLocalTask(): StringTask {\n const parser = parseBranchSummary;\n\n return {\n format: 'utf-8',\n commands: ['branch', '-v'],\n parser,\n };\n}\n\nexport function deleteBranchesTask(\n branches: string[],\n forceDelete = false\n): StringTask {\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\n done(stdOut);\n },\n };\n}\n\nexport function deleteBranchTask(\n branch: string,\n forceDelete = false\n): StringTask {\n const task: StringTask = {\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\n throw new GitResponseError(\n task.parser(bufferToString(stdOut), bufferToString(stdErr)),\n String(error)\n );\n },\n };\n\n return task;\n}\n","/**\n * Parser for the `check-ignore` command - returns each file as a string array\n */\nexport const parseCheckIgnore = (text: string): string[] => {\n return text\n .split(/\\n/g)\n .map((line) => line.trim())\n .filter((file) => !!file);\n};\n","import { StringTask } from '../types';\nimport { parseCheckIgnore } from '../responses/CheckIgnore';\n\nexport function checkIgnoreTask(paths: string[]): StringTask {\n return {\n commands: ['check-ignore', ...paths],\n format: 'utf-8',\n parser: parseCheckIgnore,\n };\n}\n","import { configurationErrorTask, EmptyTask, straightThroughStringTask } from './task';\nimport { OptionFlags, Options, StringTask } from '../types';\nimport { append, filterString } from '../utils';\n\nexport type CloneOptions = Options &\n OptionFlags<\n | '--bare'\n | '--dissociate'\n | '--mirror'\n | '--no-checkout'\n | '--no-remote-submodules'\n | '--no-shallow-submodules'\n | '--no-single-branch'\n | '--no-tags'\n | '--remote-submodules'\n | '--single-branch'\n | '--shallow-submodules'\n | '--verbose'\n > &\n OptionFlags<'--depth' | '-j' | '--jobs', number> &\n OptionFlags<\n | '--branch'\n | '--origin'\n | '--recurse-submodules'\n | '--separate-git-dir'\n | '--shallow-exclude'\n | '--shallow-since'\n | '--template',\n string\n >;\n\nfunction disallowedCommand(command: string) {\n return /^--upload-pack(=|$)/.test(command);\n}\n\nexport function cloneTask(\n repo: string | undefined,\n directory: string | undefined,\n customArgs: string[]\n): StringTask | EmptyTask {\n const commands = ['clone', ...customArgs];\n\n filterString(repo) && commands.push(repo);\n filterString(directory) && commands.push(directory);\n\n const banned = commands.find(disallowedCommand);\n if (banned) {\n return configurationErrorTask(`git.fetch: potential exploit argument blocked.`);\n }\n\n return straightThroughStringTask(commands);\n}\n\nexport function cloneMirrorTask(\n repo: string | undefined,\n directory: string | undefined,\n customArgs: string[]\n) {\n append(customArgs, '--mirror');\n\n return cloneTask(repo, directory, customArgs);\n}\n","import { FetchResult } from '../../../typings';\nimport { LineParser, parseStringResponse } from '../utils';\n\nconst parsers: LineParser[] = [\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(\n /\\s*([^.]+)\\.\\.(\\S+)\\s+(\\S+)\\s*-> (.+)$/,\n (result, [from, to, name, tracking]) => {\n result.updated.push({\n name,\n tracking,\n to,\n from,\n });\n }\n ),\n];\n\nexport function parseFetchResult(stdOut: string, stdErr: string): FetchResult {\n const result: FetchResult = {\n raw: stdOut,\n remote: null,\n branches: [],\n tags: [],\n updated: [],\n deleted: [],\n };\n return parseStringResponse(result, parsers, [stdOut, stdErr]);\n}\n","import { FetchResult } from '../../../typings';\nimport { parseFetchResult } from '../parsers/parse-fetch';\nimport { StringTask } from '../types';\n\nimport { configurationErrorTask, EmptyTask } from './task';\n\nfunction disallowedCommand(command: string) {\n return /^--upload-pack(=|$)/.test(command);\n}\n\nexport function fetchTask(\n remote: string,\n branch: string,\n customArgs: string[]\n): StringTask | EmptyTask {\n const commands = ['fetch', ...customArgs];\n if (remote && branch) {\n commands.push(remote, branch);\n }\n\n const banned = commands.find(disallowedCommand);\n if (banned) {\n return configurationErrorTask(`git.fetch: potential exploit argument blocked.`);\n }\n\n return {\n commands,\n format: 'utf-8',\n parser: parseFetchResult,\n };\n}\n","import { MoveResult } from '../../../typings';\nimport { LineParser, parseStringResponse } from '../utils';\n\nconst parsers: LineParser[] = [\n new LineParser(/^Renaming (.+) to (.+)$/, (result, [from, to]) => {\n result.moves.push({ from, to });\n }),\n];\n\nexport function parseMoveResult(stdOut: string): MoveResult {\n return parseStringResponse({ moves: [] }, parsers, stdOut);\n}\n","import { MoveResult } from '../../../typings';\nimport { parseMoveResult } from '../parsers/parse-move';\nimport { StringTask } from '../types';\nimport { asArray } from '../utils';\n\nexport function moveTask(from: string | string[], to: string): StringTask {\n return {\n commands: ['mv', '-v', ...asArray(from), to],\n format: 'utf-8',\n parser: parseMoveResult,\n };\n}\n","import { PullResult } from '../../../typings';\nimport { GitResponseError } from '../errors/git-response-error';\nimport { parsePullErrorResult, parsePullResult } from '../parsers/parse-pull';\nimport { Maybe, StringTask } from '../types';\nimport { bufferToString } from '../utils';\n\nexport function pullTask(\n remote: Maybe,\n branch: Maybe,\n customArgs: string[]\n): StringTask {\n const commands: string[] = ['pull', ...customArgs];\n if (remote && branch) {\n commands.splice(1, 0, remote, branch);\n }\n\n return {\n commands,\n format: 'utf-8',\n parser(stdOut, stdErr): PullResult {\n return parsePullResult(stdOut, stdErr);\n },\n onError(result, _error, _done, fail) {\n const pullError = parsePullErrorResult(\n bufferToString(result.stdOut),\n bufferToString(result.stdErr)\n );\n if (pullError) {\n return fail(new GitResponseError(pullError));\n }\n\n fail(_error);\n },\n };\n}\n","import { forEachLineWithContent } from '../utils';\n\nexport interface RemoteWithoutRefs {\n name: string;\n}\n\nexport interface RemoteWithRefs extends RemoteWithoutRefs {\n refs: {\n fetch: string;\n push: string;\n };\n}\n\nexport function parseGetRemotes(text: string): RemoteWithoutRefs[] {\n const remotes: { [name: string]: RemoteWithoutRefs } = {};\n\n forEach(text, ([name]) => (remotes[name] = { name }));\n\n return Object.values(remotes);\n}\n\nexport function parseGetRemotesVerbose(text: string): RemoteWithRefs[] {\n const remotes: { [name: string]: RemoteWithRefs } = {};\n\n forEach(text, ([name, url, purpose]) => {\n if (!remotes.hasOwnProperty(name)) {\n remotes[name] = {\n name: name,\n refs: { fetch: '', push: '' },\n };\n }\n\n if (purpose && url) {\n remotes[name].refs[purpose.replace(/[^a-z]/g, '') as keyof RemoteWithRefs['refs']] = url;\n }\n });\n\n return Object.values(remotes);\n}\n\nfunction forEach(text: string, handler: (line: string[]) => void) {\n forEachLineWithContent(text, (line) => handler(line.split(/\\s+/)));\n}\n","import { parseGetRemotes, parseGetRemotesVerbose } from '../responses/GetRemoteSummary';\nimport { StringTask } from '../types';\nimport { straightThroughStringTask } from './task';\n\nexport function addRemoteTask(\n remoteName: string,\n remoteRepo: string,\n customArgs: string[] = []\n): StringTask {\n return straightThroughStringTask(['remote', 'add', ...customArgs, remoteName, remoteRepo]);\n}\n\nexport function getRemotesTask(verbose: boolean): StringTask {\n const commands = ['remote'];\n if (verbose) {\n commands.push('-v');\n }\n\n return {\n commands,\n format: 'utf-8',\n parser: verbose ? parseGetRemotesVerbose : parseGetRemotes,\n };\n}\n\nexport function listRemotesTask(customArgs: string[] = []): StringTask {\n const commands = [...customArgs];\n if (commands[0] !== 'ls-remote') {\n commands.unshift('ls-remote');\n }\n\n return straightThroughStringTask(commands);\n}\n\nexport function remoteTask(customArgs: string[] = []): StringTask {\n const commands = [...customArgs];\n if (commands[0] !== 'remote') {\n commands.unshift('remote');\n }\n\n return straightThroughStringTask(commands);\n}\n\nexport function removeRemoteTask(remoteName: string) {\n return straightThroughStringTask(['remote', 'remove', remoteName]);\n}\n","import { LogOptions, LogResult } from '../../../typings';\nimport { logFormatFromCommand } from '../args/log-format';\nimport { createListLogSummaryParser } from '../parsers/parse-list-log-summary';\nimport type { StringTask } from '../types';\nimport { validateLogFormatConfig } from './diff';\nimport { parseLogOptions } from './log';\nimport type { EmptyTask } from './task';\n\nexport function stashListTask(\n opt: LogOptions = {},\n customArgs: string[]\n): EmptyTask | StringTask {\n const options = parseLogOptions(opt);\n const commands = ['stash', 'list', ...options.commands, ...customArgs];\n const parser = createListLogSummaryParser(\n options.splitter,\n options.fields,\n logFormatFromCommand(commands)\n );\n\n return (\n validateLogFormatConfig(commands) || {\n commands,\n format: 'utf-8',\n parser,\n }\n );\n}\n","import { StringTask } from '../types';\nimport { straightThroughStringTask } from './task';\n\nexport function addSubModuleTask(repo: string, path: string): StringTask {\n return subModuleTask(['add', repo, path]);\n}\n\nexport function initSubModuleTask(customArgs: string[]): StringTask {\n return subModuleTask(['init', ...customArgs]);\n}\n\nexport function subModuleTask(customArgs: string[]): StringTask {\n const commands = [...customArgs];\n if (commands[0] !== 'submodule') {\n commands.unshift('submodule');\n }\n\n return straightThroughStringTask(commands);\n}\n\nexport function updateSubModuleTask(customArgs: string[]): StringTask {\n return subModuleTask(['update', ...customArgs]);\n}\n","import { TagResult } from '../../../typings';\n\nexport class TagList implements TagResult {\n constructor(public readonly all: string[], public readonly latest: string | undefined) {}\n}\n\nexport const parseTagList = function (data: string, customSort = false) {\n const tags = data.split('\\n').map(trimmed).filter(Boolean);\n\n if (!customSort) {\n tags.sort(function (tagA, tagB) {\n const partsA = tagA.split('.');\n const partsB = tagB.split('.');\n\n if (partsA.length === 1 || partsB.length === 1) {\n return singleSorted(toNumber(partsA[0]), toNumber(partsB[0]));\n }\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\n if (diff) {\n return diff;\n }\n }\n\n return 0;\n });\n }\n\n const latest = customSort ? tags[0] : [...tags].reverse().find((tag) => tag.indexOf('.') >= 0);\n\n return new TagList(tags, latest);\n};\n\nfunction singleSorted(a: number, b: number): number {\n const aIsNum = isNaN(a);\n const bIsNum = isNaN(b);\n\n if (aIsNum !== bIsNum) {\n return aIsNum ? 1 : -1;\n }\n\n return aIsNum ? sorted(a, b) : 0;\n}\n\nfunction sorted(a: number, b: number) {\n return a === b ? 0 : a > b ? 1 : -1;\n}\n\nfunction trimmed(input: string) {\n return input.trim();\n}\n\nfunction toNumber(input: string | undefined) {\n if (typeof input === 'string') {\n return parseInt(input.replace(/^\\D+/g, ''), 10) || 0;\n }\n\n return 0;\n}\n","import { TagResult } from '../../../typings';\nimport { parseTagList } from '../responses/TagList';\nimport { StringTask } from '../types';\n\n/**\n * Task used by `git.tags`\n */\nexport function tagListTask(customArgs: string[] = []): StringTask {\n const hasCustomSort = customArgs.some((option) => /^--sort=/.test(option));\n\n return {\n format: 'utf-8',\n commands: ['tag', '-l', ...customArgs],\n parser(text: string) {\n return parseTagList(text, hasCustomSort);\n },\n };\n}\n\n/**\n * Task used by `git.addTag`\n */\nexport function addTagTask(name: string): StringTask<{ name: string }> {\n return {\n format: 'utf-8',\n commands: ['tag', name],\n parser() {\n return { name };\n },\n };\n}\n\n/**\n * Task used by `git.addTag`\n */\nexport function addAnnotatedTagTask(\n name: string,\n tagMessage: string\n): StringTask<{ name: string }> {\n return {\n format: 'utf-8',\n commands: ['tag', '-a', '-m', tagMessage, name],\n parser() {\n return { name };\n },\n };\n}\n","const { GitExecutor } = require('./lib/runners/git-executor');\nconst { SimpleGitApi } = require('./lib/simple-git-api');\n\nconst { Scheduler } = require('./lib/runners/scheduler');\nconst { configurationErrorTask } = require('./lib/tasks/task');\nconst {\n asArray,\n filterArray,\n filterPrimitives,\n filterString,\n filterStringOrStringArray,\n filterType,\n getTrailingOptions,\n trailingFunctionArgument,\n trailingOptionsArgument,\n} = require('./lib/utils');\nconst { applyPatchTask } = require('./lib/tasks/apply-patch');\nconst {\n branchTask,\n branchLocalTask,\n deleteBranchesTask,\n deleteBranchTask,\n} = require('./lib/tasks/branch');\nconst { checkIgnoreTask } = require('./lib/tasks/check-ignore');\nconst { checkIsRepoTask } = require('./lib/tasks/check-is-repo');\nconst { cloneTask, cloneMirrorTask } = require('./lib/tasks/clone');\nconst { cleanWithOptionsTask, isCleanOptionsArray } = require('./lib/tasks/clean');\nconst { diffSummaryTask } = require('./lib/tasks/diff');\nconst { fetchTask } = require('./lib/tasks/fetch');\nconst { moveTask } = require('./lib/tasks/move');\nconst { pullTask } = require('./lib/tasks/pull');\nconst { pushTagsTask } = require('./lib/tasks/push');\nconst {\n addRemoteTask,\n getRemotesTask,\n listRemotesTask,\n remoteTask,\n removeRemoteTask,\n} = require('./lib/tasks/remote');\nconst { getResetMode, resetTask } = require('./lib/tasks/reset');\nconst { stashListTask } = require('./lib/tasks/stash-list');\nconst {\n addSubModuleTask,\n initSubModuleTask,\n subModuleTask,\n updateSubModuleTask,\n} = require('./lib/tasks/sub-module');\nconst { addAnnotatedTagTask, addTagTask, tagListTask } = require('./lib/tasks/tag');\nconst { straightThroughBufferTask, straightThroughStringTask } = require('./lib/tasks/task');\n\nfunction Git(options, plugins) {\n this._executor = new GitExecutor(\n options.binary,\n options.baseDir,\n new Scheduler(options.maxConcurrentProcesses),\n plugins\n );\n\n this._trimmed = options.trimmed;\n}\n\n(Git.prototype = Object.create(SimpleGitApi.prototype)).constructor = Git;\n\n/**\n * Sets the path to a custom git binary, should either be `git` when there is an installation of git available on\n * the system path, or a fully qualified path to the executable.\n *\n * @param {string} command\n * @returns {Git}\n */\nGit.prototype.customBinary = function (command) {\n this._executor.binary = command;\n return this;\n};\n\n/**\n * Sets an environment variable for the spawned child process, either supply both a name and value as strings or\n * a single object to entirely replace the current environment variables.\n *\n * @param {string|Object} name\n * @param {string} [value]\n * @returns {Git}\n */\nGit.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\n return this;\n};\n\n/**\n * List the stash(s) of the local repo\n */\nGit.prototype.stashList = function (options) {\n return this._runTask(\n stashListTask(\n trailingOptionsArgument(arguments) || {},\n (filterArray(options) && options) || []\n ),\n trailingFunctionArgument(arguments)\n );\n};\n\nfunction createCloneTask(api, task, repoPath, localPath) {\n if (typeof repoPath !== 'string') {\n return configurationErrorTask(`git.${api}() requires a string 'repoPath'`);\n }\n\n return task(repoPath, filterType(localPath, filterString), getTrailingOptions(arguments));\n}\n\n/**\n * Clone a git repo\n */\nGit.prototype.clone = function () {\n return this._runTask(\n createCloneTask('clone', cloneTask, ...arguments),\n trailingFunctionArgument(arguments)\n );\n};\n\n/**\n * Mirror a git repo\n */\nGit.prototype.mirror = function () {\n return this._runTask(\n createCloneTask('mirror', cloneMirrorTask, ...arguments),\n trailingFunctionArgument(arguments)\n );\n};\n\n/**\n * Moves one or more files to a new destination.\n *\n * @see https://git-scm.com/docs/git-mv\n *\n * @param {string|string[]} from\n * @param {string} to\n */\nGit.prototype.mv = function (from, to) {\n return this._runTask(moveTask(from, to), trailingFunctionArgument(arguments));\n};\n\n/**\n * Internally uses pull and tags to get the list of tags then checks out the latest tag.\n *\n * @param {Function} [then]\n */\nGit.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\n/**\n * Pull the updated contents of the current repo\n */\nGit.prototype.pull = function (remote, branch, options, then) {\n return this._runTask(\n pullTask(\n filterType(remote, filterString),\n filterType(branch, filterString),\n getTrailingOptions(arguments)\n ),\n trailingFunctionArgument(arguments)\n );\n};\n\n/**\n * Fetch the updated contents of the current repo.\n *\n * @example\n * .fetch('upstream', 'master') // fetches from master on remote named upstream\n * .fetch(function () {}) // runs fetch against default remote and branch and calls function\n *\n * @param {string} [remote]\n * @param {string} [branch]\n */\nGit.prototype.fetch = function (remote, branch) {\n return this._runTask(\n fetchTask(\n filterType(remote, filterString),\n filterType(branch, filterString),\n getTrailingOptions(arguments)\n ),\n trailingFunctionArgument(arguments)\n );\n};\n\n/**\n * Disables/enables the use of the console for printing warnings and errors, by default messages are not shown in\n * a production environment.\n *\n * @param {boolean} silence\n * @returns {Git}\n */\nGit.prototype.silent = function (silence) {\n console.warn(\n '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 );\n return this;\n};\n\n/**\n * List all tags. When using git 2.7.0 or above, include an options object with `\"--sort\": \"property-name\"` to\n * sort the tags by that property instead of using the default semantic versioning sort.\n *\n * Note, supplying this option when it is not supported by your Git version will cause the operation to fail.\n *\n * @param {Object} [options]\n * @param {Function} [then]\n */\nGit.prototype.tags = function (options, then) {\n return this._runTask(\n tagListTask(getTrailingOptions(arguments)),\n trailingFunctionArgument(arguments)\n );\n};\n\n/**\n * Rebases the current working copy. Options can be supplied either as an array of string parameters\n * to be sent to the `git rebase` command, or a standard options object.\n */\nGit.prototype.rebase = function () {\n return this._runTask(\n straightThroughStringTask(['rebase', ...getTrailingOptions(arguments)]),\n trailingFunctionArgument(arguments)\n );\n};\n\n/**\n * Reset a repo\n */\nGit.prototype.reset = function (mode) {\n return this._runTask(\n resetTask(getResetMode(mode), getTrailingOptions(arguments)),\n trailingFunctionArgument(arguments)\n );\n};\n\n/**\n * Revert one or more commits in the local working copy\n */\nGit.prototype.revert = function (commit) {\n const next = trailingFunctionArgument(arguments);\n\n if (typeof commit !== 'string') {\n return this._runTask(configurationErrorTask('Commit must be a string'), next);\n }\n\n return this._runTask(\n straightThroughStringTask(['revert', ...getTrailingOptions(arguments, 0, true), commit]),\n next\n );\n};\n\n/**\n * Add a lightweight tag to the head of the current branch\n */\nGit.prototype.addTag = function (name) {\n const task =\n typeof name === 'string'\n ? addTagTask(name)\n : configurationErrorTask('Git.addTag requires a tag name');\n\n return this._runTask(task, trailingFunctionArgument(arguments));\n};\n\n/**\n * Add an annotated tag to the head of the current branch\n */\nGit.prototype.addAnnotatedTag = function (tagName, tagMessage) {\n return this._runTask(\n addAnnotatedTagTask(tagName, tagMessage),\n trailingFunctionArgument(arguments)\n );\n};\n\n/**\n * Delete a local branch\n */\nGit.prototype.deleteLocalBranch = function (branchName, forceDelete, then) {\n return this._runTask(\n deleteBranchTask(branchName, typeof forceDelete === 'boolean' ? forceDelete : false),\n trailingFunctionArgument(arguments)\n );\n};\n\n/**\n * Delete one or more local branches\n */\nGit.prototype.deleteLocalBranches = function (branchNames, forceDelete, then) {\n return this._runTask(\n deleteBranchesTask(branchNames, typeof forceDelete === 'boolean' ? forceDelete : false),\n trailingFunctionArgument(arguments)\n );\n};\n\n/**\n * List all branches\n *\n * @param {Object | string[]} [options]\n * @param {Function} [then]\n */\nGit.prototype.branch = function (options, then) {\n return this._runTask(\n branchTask(getTrailingOptions(arguments)),\n trailingFunctionArgument(arguments)\n );\n};\n\n/**\n * Return list of local branches\n *\n * @param {Function} [then]\n */\nGit.prototype.branchLocal = function (then) {\n return this._runTask(branchLocalTask(), trailingFunctionArgument(arguments));\n};\n\n/**\n * Executes any command against the git binary.\n */\nGit.prototype.raw = function (commands) {\n const createRestCommands = !Array.isArray(commands);\n const command = [].slice.call(createRestCommands ? arguments : commands, 0);\n\n for (let i = 0; i < command.length && createRestCommands; i++) {\n if (!filterPrimitives(command[i])) {\n command.splice(i, command.length - i);\n break;\n }\n }\n\n command.push(...getTrailingOptions(arguments, 0, true));\n\n var next = trailingFunctionArgument(arguments);\n\n if (!command.length) {\n return this._runTask(\n configurationErrorTask('Raw: must supply one or more command to execute'),\n next\n );\n }\n\n return this._runTask(straightThroughStringTask(command, this._trimmed), next);\n};\n\nGit.prototype.submoduleAdd = function (repo, path, then) {\n return this._runTask(addSubModuleTask(repo, path), trailingFunctionArgument(arguments));\n};\n\nGit.prototype.submoduleUpdate = function (args, then) {\n return this._runTask(\n updateSubModuleTask(getTrailingOptions(arguments, true)),\n trailingFunctionArgument(arguments)\n );\n};\n\nGit.prototype.submoduleInit = function (args, then) {\n return this._runTask(\n initSubModuleTask(getTrailingOptions(arguments, true)),\n trailingFunctionArgument(arguments)\n );\n};\n\nGit.prototype.subModule = function (options, then) {\n return this._runTask(\n subModuleTask(getTrailingOptions(arguments)),\n trailingFunctionArgument(arguments)\n );\n};\n\nGit.prototype.listRemote = function () {\n return this._runTask(\n listRemotesTask(getTrailingOptions(arguments)),\n trailingFunctionArgument(arguments)\n );\n};\n\n/**\n * Adds a remote to the list of remotes.\n */\nGit.prototype.addRemote = function (remoteName, remoteRepo, then) {\n return this._runTask(\n addRemoteTask(remoteName, remoteRepo, getTrailingOptions(arguments)),\n trailingFunctionArgument(arguments)\n );\n};\n\n/**\n * Removes an entry by name from the list of remotes.\n */\nGit.prototype.removeRemote = function (remoteName, then) {\n return this._runTask(removeRemoteTask(remoteName), trailingFunctionArgument(arguments));\n};\n\n/**\n * Gets the currently available remotes, setting the optional verbose argument to true includes additional\n * detail on the remotes themselves.\n */\nGit.prototype.getRemotes = function (verbose, then) {\n return this._runTask(getRemotesTask(verbose === true), trailingFunctionArgument(arguments));\n};\n\n/**\n * Call any `git remote` function with arguments passed as an array of strings.\n *\n * @param {string[]} options\n * @param {Function} [then]\n */\nGit.prototype.remote = function (options, then) {\n return this._runTask(\n remoteTask(getTrailingOptions(arguments)),\n trailingFunctionArgument(arguments)\n );\n};\n\n/**\n * Call any `git tag` function with arguments passed as an array of strings.\n *\n * @param {string[]} options\n * @param {Function} [then]\n */\nGit.prototype.tag = function (options, then) {\n const command = getTrailingOptions(arguments);\n\n if (command[0] !== 'tag') {\n command.unshift('tag');\n }\n\n return this._runTask(straightThroughStringTask(command), trailingFunctionArgument(arguments));\n};\n\n/**\n * Updates repository server info\n *\n * @param {Function} [then]\n */\nGit.prototype.updateServerInfo = function (then) {\n return this._runTask(\n straightThroughStringTask(['update-server-info']),\n trailingFunctionArgument(arguments)\n );\n};\n\n/**\n * Pushes the current tag changes to a remote which can be either a URL or named remote. When not specified uses the\n * default configured remote spec.\n *\n * @param {string} [remote]\n * @param {Function} [then]\n */\nGit.prototype.pushTags = function (remote, then) {\n const task = pushTagsTask(\n { remote: filterType(remote, filterString) },\n getTrailingOptions(arguments)\n );\n\n return this._runTask(task, trailingFunctionArgument(arguments));\n};\n\n/**\n * Removes the named files from source control.\n */\nGit.prototype.rm = function (files) {\n return this._runTask(\n straightThroughStringTask(['rm', '-f', ...asArray(files)]),\n trailingFunctionArgument(arguments)\n );\n};\n\n/**\n * Removes the named files from source control but keeps them on disk rather than deleting them entirely. To\n * completely remove the files, use `rm`.\n *\n * @param {string|string[]} files\n */\nGit.prototype.rmKeepLocal = function (files) {\n return this._runTask(\n straightThroughStringTask(['rm', '--cached', ...asArray(files)]),\n trailingFunctionArgument(arguments)\n );\n};\n\n/**\n * Returns a list of objects in a tree based on commit hash. Passing in an object hash returns the object's content,\n * size, and type.\n *\n * Passing \"-p\" will instruct cat-file to determine the object type, and display its formatted contents.\n *\n * @param {string[]} [options]\n * @param {Function} [then]\n */\nGit.prototype.catFile = function (options, then) {\n return this._catFile('utf-8', arguments);\n};\n\nGit.prototype.binaryCatFile = function () {\n return this._catFile('buffer', arguments);\n};\n\nGit.prototype._catFile = function (format, args) {\n var handler = trailingFunctionArgument(args);\n var command = ['cat-file'];\n var options = args[0];\n\n if (typeof options === 'string') {\n return this._runTask(\n configurationErrorTask('Git.catFile: options must be supplied as an array of strings'),\n handler\n );\n }\n\n if (Array.isArray(options)) {\n command.push.apply(command, options);\n }\n\n const task =\n format === 'buffer' ? straightThroughBufferTask(command) : straightThroughStringTask(command);\n\n return this._runTask(task, handler);\n};\n\nGit.prototype.diff = function (options, then) {\n const task = filterString(options)\n ? configurationErrorTask(\n 'git.diff: supplying options as a single string is no longer supported, switch to an array of strings'\n )\n : straightThroughStringTask(['diff', ...getTrailingOptions(arguments)]);\n\n return this._runTask(task, trailingFunctionArgument(arguments));\n};\n\nGit.prototype.diffSummary = function () {\n return this._runTask(\n diffSummaryTask(getTrailingOptions(arguments, 1)),\n trailingFunctionArgument(arguments)\n );\n};\n\nGit.prototype.applyPatch = function (patches) {\n const task = !filterStringOrStringArray(patches)\n ? configurationErrorTask(\n `git.applyPatch requires one or more string patches as the first argument`\n )\n : applyPatchTask(asArray(patches), getTrailingOptions([].slice.call(arguments, 1)));\n\n return this._runTask(task, trailingFunctionArgument(arguments));\n};\n\nGit.prototype.revparse = function () {\n const commands = ['rev-parse', ...getTrailingOptions(arguments, true)];\n return this._runTask(\n straightThroughStringTask(commands, true),\n trailingFunctionArgument(arguments)\n );\n};\n\n/**\n */\nGit.prototype.clean = function (mode, options, then) {\n const usingCleanOptionsArray = isCleanOptionsArray(mode);\n const cleanMode =\n (usingCleanOptionsArray && mode.join('')) || filterType(mode, filterString) || '';\n const customArgs = getTrailingOptions([].slice.call(arguments, usingCleanOptionsArray ? 1 : 0));\n\n return this._runTask(\n cleanWithOptionsTask(cleanMode, customArgs),\n trailingFunctionArgument(arguments)\n );\n};\n\nGit.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\n return this._runTask(task);\n};\n\n/**\n * Clears the queue of pending commands and returns the wrapper instance for chaining.\n *\n * @returns {Git}\n */\nGit.prototype.clearQueue = function () {\n // TODO:\n // this._executor.clear();\n return this;\n};\n\n/**\n * Check if a pathname or pathnames are excluded by .gitignore\n *\n * @param {string|string[]} pathnames\n * @param {Function} [then]\n */\nGit.prototype.checkIgnore = function (pathnames, then) {\n return this._runTask(\n checkIgnoreTask(asArray(filterType(pathnames, filterStringOrStringArray, []))),\n trailingFunctionArgument(arguments)\n );\n};\n\nGit.prototype.checkIsRepo = function (checkType, then) {\n return this._runTask(\n checkIsRepoTask(filterType(checkType, filterString)),\n trailingFunctionArgument(arguments)\n );\n};\n\nmodule.exports = Git;\n","import { pathspec } from './args/pathspec';\nimport { GitConstructError } from './errors/git-construct-error';\nimport { GitError } from './errors/git-error';\nimport { GitPluginError } from './errors/git-plugin-error';\nimport { GitResponseError } from './errors/git-response-error';\nimport { TaskConfigurationError } from './errors/task-configuration-error';\nimport { CheckRepoActions } from './tasks/check-is-repo';\nimport { CleanOptions } from './tasks/clean';\nimport { GitConfigScope } from './tasks/config';\nimport { grepQueryBuilder } from './tasks/grep';\nimport { ResetMode } from './tasks/reset';\n\nexport {\n CheckRepoActions,\n CleanOptions,\n GitConfigScope,\n GitConstructError,\n GitError,\n GitPluginError,\n GitResponseError,\n ResetMode,\n TaskConfigurationError,\n grepQueryBuilder,\n pathspec,\n};\n","import { GitError } from './git-error';\nimport { SimpleGitOptions } from '../types';\n\n/**\n * The `GitConstructError` is thrown when an error occurs in the constructor\n * of the `simple-git` instance itself. Most commonly as a result of using\n * a `baseDir` option that points to a folder that either does not exist,\n * or cannot be read by the user the node script is running as.\n *\n * Check the `.message` property for more detail including the properties\n * passed to the constructor.\n */\nexport class GitConstructError extends GitError {\n constructor(public readonly config: SimpleGitOptions, message: string) {\n super(undefined, message);\n }\n}\n","import { SimpleGitOptions, SimpleGitTask } from '../types';\nimport { GitError } from './git-error';\n\nexport class GitPluginError extends GitError {\n constructor(\n public task?: SimpleGitTask,\n public readonly plugin?: keyof SimpleGitOptions,\n message?: string\n ) {\n super(task, message);\n Object.setPrototypeOf(this, new.target.prototype);\n }\n}\n","import { SimpleGitOptions } from '../types';\nimport { SimpleGitPlugin } from './simple-git-plugin';\nimport { GitPluginError } from '../errors/git-plugin-error';\n\nexport function abortPlugin(signal: SimpleGitOptions['abort']) {\n if (!signal) {\n return;\n }\n\n const onSpawnAfter: SimpleGitPlugin<'spawn.after'> = {\n type: 'spawn.after',\n action(_data, context) {\n function kill() {\n context.kill(new GitPluginError(undefined, 'abort', 'Abort signal received'));\n }\n\n signal.addEventListener('abort', kill);\n\n context.spawned.on('close', () => signal.removeEventListener('abort', kill));\n },\n };\n\n const onSpawnBefore: SimpleGitPlugin<'spawn.before'> = {\n type: 'spawn.before',\n action(_data, context) {\n if (signal.aborted) {\n context.kill(new GitPluginError(undefined, 'abort', 'Abort already signaled'));\n }\n },\n };\n\n return [onSpawnBefore, onSpawnAfter];\n}\n","import type { SimpleGitPlugin } from './simple-git-plugin';\n\nimport { GitPluginError } from '../errors/git-plugin-error';\nimport type { SimpleGitPluginConfig } from '../types';\n\nfunction isConfigSwitch(arg: string | unknown) {\n return typeof arg === 'string' && arg.trim().toLowerCase() === '-c';\n}\n\nfunction preventProtocolOverride(arg: string, next: string) {\n if (!isConfigSwitch(arg)) {\n return;\n }\n\n if (!/^\\s*protocol(.[a-z]+)?.allow/.test(next)) {\n return;\n }\n\n throw new GitPluginError(\n undefined,\n 'unsafe',\n 'Configuring protocol.allow is not permitted without enabling allowUnsafeExtProtocol'\n );\n}\n\nfunction preventUploadPack(arg: string, method: string) {\n if (/^\\s*--(upload|receive)-pack/.test(arg)) {\n throw new GitPluginError(\n undefined,\n 'unsafe',\n `Use of --upload-pack or --receive-pack is not permitted without enabling allowUnsafePack`\n );\n }\n\n if (method === 'clone' && /^\\s*-u\\b/.test(arg)) {\n throw new GitPluginError(\n undefined,\n 'unsafe',\n `Use of clone with option -u is not permitted without enabling allowUnsafePack`\n );\n }\n\n if (method === 'push' && /^\\s*--exec\\b/.test(arg)) {\n throw new GitPluginError(\n undefined,\n 'unsafe',\n `Use of push with option --exec is not permitted without enabling allowUnsafePack`\n );\n }\n}\n\nexport function blockUnsafeOperationsPlugin({\n allowUnsafeProtocolOverride = false,\n allowUnsafePack = false,\n}: SimpleGitPluginConfig['unsafe'] = {}): SimpleGitPlugin<'spawn.args'> {\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\n allowUnsafeProtocolOverride || preventProtocolOverride(current, next);\n allowUnsafePack || preventUploadPack(current, context.method);\n });\n\n return args;\n },\n };\n}\n","import { prefixedArray } from '../utils';\nimport { SimpleGitPlugin } from './simple-git-plugin';\n\nexport function commandConfigPrefixingPlugin(\n configuration: string[]\n): SimpleGitPlugin<'spawn.args'> {\n const prefix = prefixedArray(configuration, '-c');\n\n return {\n type: 'spawn.args',\n action(data) {\n return [...prefix, ...data];\n },\n };\n}\n","import { deferred, DeferredPromise } from '@kwsites/promise-deferred';\nimport { SimpleGitPluginConfig } from '../types';\nimport { delay } from '../utils';\nimport { SimpleGitPlugin } from './simple-git-plugin';\n\nconst never = deferred().promise;\n\nexport function completionDetectionPlugin({\n onClose = true,\n onExit = 50,\n}: SimpleGitPluginConfig['completion'] = {}): SimpleGitPlugin<'spawn.after'> {\n function createEvents() {\n let exitCode = -1;\n const events = {\n close: deferred(),\n closeTimeout: deferred(),\n exit: deferred(),\n exitTimeout: deferred(),\n };\n\n const result = Promise.race([\n onClose === false ? never : events.closeTimeout.promise,\n onExit === false ? never : events.exitTimeout.promise,\n ]);\n\n configureTimeout(onClose, events.close, events.closeTimeout);\n configureTimeout(onExit, events.exit, events.exitTimeout);\n\n return {\n close(code: number) {\n exitCode = code;\n events.close.done();\n },\n exit(code: number) {\n exitCode = code;\n events.exit.done();\n },\n get exitCode() {\n return exitCode;\n },\n result,\n };\n }\n\n function configureTimeout(\n flag: boolean | number,\n event: DeferredPromise,\n timeout: DeferredPromise\n ) {\n if (flag === false) {\n return;\n }\n\n (flag === true ? event.promise : event.promise.then(() => delay(flag))).then(timeout.done);\n }\n\n return {\n type: 'spawn.after',\n async action(_data, { spawned, close }) {\n const events = createEvents();\n\n let deferClose = true;\n let quickClose = () => void (deferClose = false);\n\n spawned.stdout?.on('data', quickClose);\n spawned.stderr?.on('data', quickClose);\n spawned.on('error', quickClose);\n\n spawned.on('close', (code: number) => events.close(code));\n spawned.on('exit', (code: number) => events.exit(code));\n\n try {\n await events.result;\n if (deferClose) {\n await delay(50);\n }\n close(events.exitCode);\n } catch (err) {\n close(events.exitCode, err as Error);\n }\n },\n };\n}\n","import { GitError } from '../errors/git-error';\nimport { GitExecutorResult, SimpleGitPluginConfig } from '../types';\nimport { SimpleGitPlugin } from './simple-git-plugin';\n\ntype TaskResult = Omit;\n\nfunction isTaskError(result: TaskResult) {\n return !!(result.exitCode && result.stdErr.length);\n}\n\nfunction getErrorMessage(result: TaskResult) {\n return Buffer.concat([...result.stdOut, ...result.stdErr]);\n}\n\nexport function errorDetectionHandler(\n overwrite = false,\n isError = isTaskError,\n errorMessage: (result: TaskResult) => Buffer | Error = getErrorMessage\n) {\n return (error: Buffer | Error | undefined, result: TaskResult) => {\n if ((!overwrite && error) || !isError(result)) {\n return error;\n }\n\n return errorMessage(result);\n };\n}\n\nexport function errorDetectionPlugin(\n config: SimpleGitPluginConfig['errors']\n): SimpleGitPlugin<'task.error'> {\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\n if (Buffer.isBuffer(error)) {\n return { error: new GitError(undefined, error.toString('utf-8')) };\n }\n\n return {\n error,\n };\n },\n };\n}\n","import { SimpleGitPlugin, SimpleGitPluginType, SimpleGitPluginTypes } from './simple-git-plugin';\nimport { append, asArray } from '../utils';\n\nexport class PluginStore {\n private plugins: Set> = new Set();\n\n public add(\n plugin: void | SimpleGitPlugin | SimpleGitPlugin[]\n ) {\n const plugins: SimpleGitPlugin[] = [];\n\n asArray(plugin).forEach((plugin) => plugin && this.plugins.add(append(plugins, plugin)));\n\n return () => {\n plugins.forEach((plugin) => this.plugins.delete(plugin));\n };\n }\n\n public exec(\n type: T,\n data: SimpleGitPluginTypes[T]['data'],\n context: SimpleGitPluginTypes[T]['context']\n ): typeof data {\n let output = data;\n const contextual = Object.freeze(Object.create(context));\n\n for (const plugin of this.plugins) {\n if (plugin.type === type) {\n output = plugin.action(output, contextual);\n }\n }\n\n return output;\n }\n}\n","import { SimpleGitOptions } from '../types';\nimport { asNumber, including } from '../utils';\n\nimport { SimpleGitPlugin } from './simple-git-plugin';\n\nexport function progressMonitorPlugin(progress: Exclude) {\n const progressCommand = '--progress';\n const progressMethods = ['checkout', 'clone', 'fetch', 'pull', 'push'];\n\n const onProgress: SimpleGitPlugin<'spawn.after'> = {\n type: 'spawn.after',\n action(_data, context) {\n if (!context.commands.includes(progressCommand)) {\n return;\n }\n\n context.spawned.stderr?.on('data', (chunk: Buffer) => {\n const message = /^([\\s\\S]+?):\\s*(\\d+)% \\((\\d+)\\/(\\d+)\\)/.exec(chunk.toString('utf8'));\n if (!message) {\n return;\n }\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\n const onArgs: SimpleGitPlugin<'spawn.args'> = {\n type: 'spawn.args',\n action(args, context) {\n if (!progressMethods.includes(context.method)) {\n return args;\n }\n\n return including(args, progressCommand);\n },\n };\n\n return [onArgs, onProgress];\n}\n\nfunction progressEventStage(input: string) {\n return String(input.toLowerCase().split(' ', 1)) || 'unknown';\n}\n","import { SpawnOptions } from 'child_process';\nimport { pick } from '../utils';\nimport { SimpleGitPlugin } from './simple-git-plugin';\n\nexport function spawnOptionsPlugin(\n spawnOptions: Partial\n): SimpleGitPlugin<'spawn.options'> {\n const options = pick(spawnOptions, ['uid', 'gid']);\n\n return {\n type: 'spawn.options',\n action(data) {\n return { ...options, ...data };\n },\n };\n}\n","import type { SimpleGitPlugin } from './simple-git-plugin';\n\nimport type { SimpleGitOptions } from '../types';\nimport { GitPluginError } from '../errors/git-plugin-error';\n\nexport function timeoutPlugin({\n block,\n stdErr = true,\n stdOut = true,\n}: Exclude): SimpleGitPlugin<'spawn.after'> | void {\n if (block > 0) {\n return {\n type: 'spawn.after',\n action(_data, context) {\n let timeout: NodeJS.Timeout;\n\n function wait() {\n timeout && clearTimeout(timeout);\n timeout = setTimeout(kill, block);\n }\n\n function stop() {\n context.spawned.stdout?.off('data', wait);\n context.spawned.stderr?.off('data', wait);\n context.spawned.off('exit', stop);\n context.spawned.off('close', stop);\n timeout && clearTimeout(timeout);\n }\n\n function kill() {\n stop();\n context.kill(new GitPluginError(undefined, 'timeout', `block timeout reached`));\n }\n\n stdOut && context.spawned.stdout?.on('data', wait);\n stdErr && context.spawned.stderr?.on('data', wait);\n context.spawned.on('exit', stop);\n context.spawned.on('close', stop);\n\n wait();\n },\n };\n }\n}\n","import { SimpleGitPlugin } from './simple-git-plugin';\nimport { isPathSpec, toPaths } from '../args/pathspec';\n\nexport function suffixPathsPlugin(): SimpleGitPlugin<'spawn.args'> {\n return {\n type: 'spawn.args',\n action(data) {\n const prefix: string[] = [];\n let suffix: undefined | string[];\n function append(args: string[]) {\n (suffix = suffix || []).push(...args);\n }\n\n for (let i = 0; i < data.length; i++) {\n const param = data[i];\n\n if (isPathSpec(param)) {\n append(toPaths(param));\n continue;\n }\n\n if (param === '--') {\n append(\n data.slice(i + 1).flatMap((item) => (isPathSpec(item) && toPaths(item)) || item)\n );\n break;\n }\n\n prefix.push(param);\n }\n\n return !suffix ? prefix : [...prefix, '--', ...suffix.map(String)];\n },\n };\n}\n","import { SimpleGitFactory } from '../../typings';\n\nimport * as api from './api';\nimport {\n abortPlugin,\n blockUnsafeOperationsPlugin,\n commandConfigPrefixingPlugin,\n completionDetectionPlugin,\n errorDetectionHandler,\n errorDetectionPlugin,\n PluginStore,\n progressMonitorPlugin,\n spawnOptionsPlugin,\n timeoutPlugin,\n} from './plugins';\nimport { suffixPathsPlugin } from './plugins/suffix-paths.plugin';\nimport { createInstanceConfig, folderExists } from './utils';\nimport { SimpleGitOptions } from './types';\n\nconst Git = require('../git');\n\n/**\n * Adds the necessary properties to the supplied object to enable it for use as\n * the default export of a module.\n *\n * Eg: `module.exports = esModuleFactory({ something () {} })`\n */\nexport function esModuleFactory(defaultExport: T) {\n return Object.defineProperties(defaultExport, {\n __esModule: { value: true },\n default: { value: defaultExport },\n }) as T & { __esModule: true; default: T };\n}\n\nexport function gitExportFactory(factory: SimpleGitFactory) {\n return Object.assign(factory.bind(null), api);\n}\n\nexport function gitInstanceFactory(\n baseDir?: string | Partial,\n options?: Partial\n) {\n const plugins = new PluginStore();\n const config = createInstanceConfig(\n (baseDir && (typeof baseDir === 'string' ? { baseDir } : baseDir)) || {},\n options\n );\n\n if (!folderExists(config.baseDir)) {\n throw new api.GitConstructError(\n config,\n `Cannot use simple-git on a directory that does not exist`\n );\n }\n\n if (Array.isArray(config.config)) {\n plugins.add(commandConfigPrefixingPlugin(config.config));\n }\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\n plugins.add(errorDetectionPlugin(errorDetectionHandler(true)));\n config.errors && plugins.add(errorDetectionPlugin(config.errors));\n\n return new Git(config, plugins);\n}\n","import { SimpleGit, SimpleGitOptions } from '../../../typings';\n\nimport { GitResponseError } from '../errors/git-response-error';\nimport { gitInstanceFactory } from '../git-factory';\nimport { SimpleGitTaskCallback } from '../types';\n\nconst functionNamesBuilderApi = ['customBinary', 'env', 'outputHandler', 'silent'];\n\nconst 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\nexport function gitP(\n ...args: [] | [string] | [Partial] | [string, Partial]\n): SimpleGit {\n let git: any;\n\n let chain = Promise.resolve();\n\n try {\n git = gitInstanceFactory(...args);\n } catch (e) {\n chain = Promise.reject(e);\n }\n\n function builderReturn() {\n return promiseApi;\n }\n\n function chainReturn() {\n return chain;\n }\n\n const promiseApi = [...functionNamesBuilderApi, ...functionNamesPromiseApi].reduce(\n (api: any, name: string) => {\n const isAsync = functionNamesPromiseApi.includes(name);\n\n const valid = isAsync ? asyncWrapper(name, git) : syncWrapper(name, git, api);\n const alternative = isAsync ? chainReturn : builderReturn;\n\n Object.defineProperty(api, name, {\n enumerable: false,\n configurable: false,\n value: git ? valid : alternative,\n });\n\n return api;\n },\n {}\n );\n\n return promiseApi as SimpleGit;\n\n function asyncWrapper(fn: string, git: any): (...args: any[]) => Promise {\n return function (...args: any[]) {\n if (typeof args[args.length] === 'function') {\n throw new TypeError(\n 'Promise interface requires that handlers are not supplied inline, ' +\n 'trailing function not allowed in call to ' +\n fn\n );\n }\n\n return chain.then(function () {\n return new Promise(function (resolve, reject) {\n const callback: SimpleGitTaskCallback = (err: Error | null, result?: any) => {\n if (err) {\n return reject(toError(err));\n }\n\n resolve(result);\n };\n args.push(callback);\n\n git[fn].apply(git, args);\n });\n });\n };\n }\n\n function syncWrapper(fn: string, git: any, api: SimpleGit) {\n return (...args: any[]) => {\n git[fn](...args);\n\n return api;\n };\n }\n}\n\nfunction toError(error: Error | string | any): Error {\n if (error instanceof Error) {\n return error;\n }\n\n if (typeof error === 'string') {\n return new Error(error);\n }\n\n return new GitResponseError(error);\n}\n","import { gitInstanceFactory } from './lib/git-factory';\n\nexport { gitP } from './lib/runners/promise-wrapped';\nexport * from './lib/api';\n\nexport const simpleGit = gitInstanceFactory;\n\nexport default gitInstanceFactory;\n","import expand from 'brace-expansion'\nimport { assertValidPattern } from './assert-valid-pattern.js'\nimport { AST, ExtglobType } from './ast.js'\nimport { escape } from './escape.js'\nimport { unescape } from './unescape.js'\n\ntype Platform =\n | 'aix'\n | 'android'\n | 'darwin'\n | 'freebsd'\n | 'haiku'\n | 'linux'\n | 'openbsd'\n | 'sunos'\n | 'win32'\n | 'cygwin'\n | 'netbsd'\n\nexport interface MinimatchOptions {\n nobrace?: boolean\n nocomment?: boolean\n nonegate?: boolean\n debug?: boolean\n noglobstar?: boolean\n noext?: boolean\n nonull?: boolean\n windowsPathsNoEscape?: boolean\n allowWindowsEscape?: boolean\n partial?: boolean\n dot?: boolean\n nocase?: boolean\n nocaseMagicOnly?: boolean\n magicalBraces?: boolean\n matchBase?: boolean\n flipNegate?: boolean\n preserveMultipleSlashes?: boolean\n optimizationLevel?: number\n platform?: Platform\n windowsNoMagicRoot?: boolean\n}\n\nexport const minimatch = (\n p: string,\n pattern: string,\n options: MinimatchOptions = {}\n) => {\n assertValidPattern(pattern)\n\n // shortcut: comments match nothing.\n if (!options.nocomment && pattern.charAt(0) === '#') {\n return false\n }\n\n return new Minimatch(pattern, options).match(p)\n}\n\n// Optimized checking for the most common glob patterns.\nconst starDotExtRE = /^\\*+([^+@!?\\*\\[\\(]*)$/\nconst starDotExtTest = (ext: string) => (f: string) =>\n !f.startsWith('.') && f.endsWith(ext)\nconst starDotExtTestDot = (ext: string) => (f: string) => f.endsWith(ext)\nconst starDotExtTestNocase = (ext: string) => {\n ext = ext.toLowerCase()\n return (f: string) => !f.startsWith('.') && f.toLowerCase().endsWith(ext)\n}\nconst starDotExtTestNocaseDot = (ext: string) => {\n ext = ext.toLowerCase()\n return (f: string) => f.toLowerCase().endsWith(ext)\n}\nconst starDotStarRE = /^\\*+\\.\\*+$/\nconst starDotStarTest = (f: string) => !f.startsWith('.') && f.includes('.')\nconst starDotStarTestDot = (f: string) =>\n f !== '.' && f !== '..' && f.includes('.')\nconst dotStarRE = /^\\.\\*+$/\nconst dotStarTest = (f: string) => f !== '.' && f !== '..' && f.startsWith('.')\nconst starRE = /^\\*+$/\nconst starTest = (f: string) => f.length !== 0 && !f.startsWith('.')\nconst starTestDot = (f: string) => f.length !== 0 && f !== '.' && f !== '..'\nconst qmarksRE = /^\\?+([^+@!?\\*\\[\\(]*)?$/\nconst qmarksTestNocase = ([$0, ext = '']: RegExpMatchArray) => {\n const noext = qmarksTestNoExt([$0])\n if (!ext) return noext\n ext = ext.toLowerCase()\n return (f: string) => noext(f) && f.toLowerCase().endsWith(ext)\n}\nconst qmarksTestNocaseDot = ([$0, ext = '']: RegExpMatchArray) => {\n const noext = qmarksTestNoExtDot([$0])\n if (!ext) return noext\n ext = ext.toLowerCase()\n return (f: string) => noext(f) && f.toLowerCase().endsWith(ext)\n}\nconst qmarksTestDot = ([$0, ext = '']: RegExpMatchArray) => {\n const noext = qmarksTestNoExtDot([$0])\n return !ext ? noext : (f: string) => noext(f) && f.endsWith(ext)\n}\nconst qmarksTest = ([$0, ext = '']: RegExpMatchArray) => {\n const noext = qmarksTestNoExt([$0])\n return !ext ? noext : (f: string) => noext(f) && f.endsWith(ext)\n}\nconst qmarksTestNoExt = ([$0]: RegExpMatchArray) => {\n const len = $0.length\n return (f: string) => f.length === len && !f.startsWith('.')\n}\nconst qmarksTestNoExtDot = ([$0]: RegExpMatchArray) => {\n const len = $0.length\n return (f: string) => f.length === len && f !== '.' && f !== '..'\n}\n\n/* c8 ignore start */\nconst defaultPlatform: Platform = (\n typeof process === 'object' && process\n ? (typeof process.env === 'object' &&\n process.env &&\n process.env.__MINIMATCH_TESTING_PLATFORM__) ||\n process.platform\n : 'posix'\n) as Platform\ntype Sep = '\\\\' | '/'\nconst path: { [k: string]: { sep: Sep } } = {\n win32: { sep: '\\\\' },\n posix: { sep: '/' },\n}\n/* c8 ignore stop */\n\nexport const sep = defaultPlatform === 'win32' ? path.win32.sep : path.posix.sep\nminimatch.sep = sep\n\nexport const GLOBSTAR = Symbol('globstar **')\nminimatch.GLOBSTAR = GLOBSTAR\n\n// any single thing other than /\n// don't need to escape / when using new RegExp()\nconst qmark = '[^/]'\n\n// * => any number of characters\nconst star = qmark + '*?'\n\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\n// not a ^ or / followed by a dot,\n// followed by anything, any number of times.\nconst twoStarNoDot = '(?:(?!(?:\\\\/|^)\\\\.).)*?'\n\nexport const filter =\n (pattern: string, options: MinimatchOptions = {}) =>\n (p: string) =>\n minimatch(p, pattern, options)\nminimatch.filter = filter\n\nconst ext = (a: MinimatchOptions, b: MinimatchOptions = {}) =>\n Object.assign({}, a, b)\n\nexport const defaults = (def: MinimatchOptions): typeof minimatch => {\n if (!def || typeof def !== 'object' || !Object.keys(def).length) {\n return minimatch\n }\n\n const orig = minimatch\n\n const m = (p: string, pattern: string, options: MinimatchOptions = {}) =>\n orig(p, pattern, ext(def, options))\n\n return Object.assign(m, {\n Minimatch: class Minimatch extends orig.Minimatch {\n constructor(pattern: string, options: MinimatchOptions = {}) {\n super(pattern, ext(def, options))\n }\n static defaults(options: MinimatchOptions) {\n return orig.defaults(ext(def, options)).Minimatch\n }\n },\n\n AST: class AST extends orig.AST {\n /* c8 ignore start */\n constructor(\n type: ExtglobType | null,\n parent?: AST,\n options: MinimatchOptions = {}\n ) {\n super(type, parent, ext(def, options))\n }\n /* c8 ignore stop */\n\n static fromGlob(pattern: string, options: MinimatchOptions = {}) {\n return orig.AST.fromGlob(pattern, ext(def, options))\n }\n },\n\n unescape: (\n s: string,\n options: Pick = {}\n ) => orig.unescape(s, ext(def, options)),\n\n escape: (\n s: string,\n options: Pick = {}\n ) => orig.escape(s, ext(def, options)),\n\n filter: (pattern: string, options: MinimatchOptions = {}) =>\n orig.filter(pattern, ext(def, options)),\n\n defaults: (options: MinimatchOptions) => orig.defaults(ext(def, options)),\n\n makeRe: (pattern: string, options: MinimatchOptions = {}) =>\n orig.makeRe(pattern, ext(def, options)),\n\n braceExpand: (pattern: string, options: MinimatchOptions = {}) =>\n orig.braceExpand(pattern, ext(def, options)),\n\n match: (list: string[], pattern: string, options: MinimatchOptions = {}) =>\n orig.match(list, pattern, ext(def, options)),\n\n sep: orig.sep,\n GLOBSTAR: GLOBSTAR as typeof GLOBSTAR,\n })\n}\nminimatch.defaults = defaults\n\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\nexport const braceExpand = (\n pattern: string,\n options: MinimatchOptions = {}\n) => {\n assertValidPattern(pattern)\n\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\n return expand(pattern)\n}\nminimatch.braceExpand = braceExpand\n\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.\n\nexport const makeRe = (pattern: string, options: MinimatchOptions = {}) =>\n new Minimatch(pattern, options).makeRe()\nminimatch.makeRe = makeRe\n\nexport const match = (\n list: string[],\n pattern: string,\n options: MinimatchOptions = {}\n) => {\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}\nminimatch.match = match\n\n// replace stuff like \\* with *\nconst globMagic = /[?*]|[+@!]\\(.*?\\)|\\[|\\]/\nconst regExpEscape = (s: string) =>\n s.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&')\n\nexport type MMRegExp = RegExp & {\n _src?: string\n _glob?: string\n}\n\nexport type ParseReturnFiltered = string | MMRegExp | typeof GLOBSTAR\nexport type ParseReturn = ParseReturnFiltered | false\n\nexport class Minimatch {\n options: MinimatchOptions\n set: ParseReturnFiltered[][]\n pattern: string\n\n windowsPathsNoEscape: boolean\n nonegate: boolean\n negate: boolean\n comment: boolean\n empty: boolean\n preserveMultipleSlashes: boolean\n partial: boolean\n globSet: string[]\n globParts: string[][]\n nocase: boolean\n\n isWindows: boolean\n platform: Platform\n windowsNoMagicRoot: boolean\n\n regexp: false | null | MMRegExp\n constructor(pattern: string, options: MinimatchOptions = {}) {\n assertValidPattern(pattern)\n\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\n this.globSet = []\n this.globParts = []\n this.set = []\n\n // make the set of regexps etc.\n this.make()\n }\n\n hasMagic(): boolean {\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') return true\n }\n }\n return false\n }\n\n debug(..._: any[]) {}\n\n make() {\n const pattern = this.pattern\n const options = this.options\n\n // empty patterns and comments match nothing.\n if (!options.nocomment && pattern.charAt(0) === '#') {\n this.comment = true\n return\n }\n\n if (!pattern) {\n this.empty = true\n return\n }\n\n // step 1: figure out negation, etc.\n this.parseNegate()\n\n // step 2: expand braces\n this.globSet = [...new Set(this.braceExpand())]\n\n if (options.debug) {\n this.debug = (...args: any[]) => console.error(...args)\n }\n\n this.debug(this.pattern, this.globSet)\n\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\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 =\n 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 } 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\n this.debug(this.pattern, set)\n\n // filter out everything that didn't compile properly.\n this.set = set.filter(\n s => s.indexOf(false) === -1\n ) as ParseReturnFiltered[][]\n\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 (\n p[0] === '' &&\n p[1] === '' &&\n this.globParts[i][2] === '?' &&\n typeof p[3] === 'string' &&\n /^[a-z]:$/i.test(p[3])\n ) {\n p[2] = '?'\n }\n }\n }\n\n this.debug(this.pattern, this.set)\n }\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: string[][]) {\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\n const { optimizationLevel = 1 } = this.options\n\n if (optimizationLevel >= 2) {\n // aggressive optimization for the purpose of fs walking\n globParts = this.firstPhasePreProcess(globParts)\n globParts = this.secondPhasePreProcess(globParts)\n } else if (optimizationLevel >= 1) {\n // just basic optimizations to remove some .. parts\n globParts = this.levelOneOptimize(globParts)\n } else {\n globParts = this.adjascentGlobstarOptimize(globParts)\n }\n\n return globParts\n }\n\n // just get rid of adjascent ** portions\n adjascentGlobstarOptimize(globParts: string[][]) {\n return globParts.map(parts => {\n let gs: number = -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\n // get rid of adjascent ** and resolve .. portions\n levelOneOptimize(globParts: string[][]) {\n return globParts.map(parts => {\n parts = parts.reduce((set: string[], 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\n levelTwoFileOptimize(parts: string | string[]) {\n if (!Array.isArray(parts)) {\n parts = this.slashSplit(parts)\n }\n let didSomething: boolean = 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] === '') continue\n          if (p === '.' || p === '') {\n            didSomething = true\n            parts.splice(i, 1)\n            i--\n          }\n        }\n        if (\n          parts[0] === '.' &&\n          parts.length === 2 &&\n          (parts[1] === '.' || parts[1] === '')\n        ) {\n          didSomething = true\n          parts.pop()\n        }\n      }\n\n      // 
/

/../ ->

/\n      let dd: number = 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\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: string[][]) {\n    let didSomething = false\n    do {\n      didSomething = false\n      // 
/**/../

/

/ -> {

/../

/

/,

/**/

/

/}\n for (let parts of globParts) {\n let gs: number = -1\n while (-1 !== (gs = parts.indexOf('**', gs + 1))) {\n let gss: number = 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\n          let next = parts[gs + 1]\n          const p = parts[gs + 2]\n          const p2 = parts[gs + 3]\n          if (next !== '..') continue\n          if (\n            !p ||\n            p === '.' ||\n            p === '..' ||\n            !p2 ||\n            p2 === '.' ||\n            p2 === '..'\n          ) {\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        // 
// -> 
/\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] === '') continue\n            if (p === '.' || p === '') {\n              didSomething = true\n              parts.splice(i, 1)\n              i--\n            }\n          }\n          if (\n            parts[0] === '.' &&\n            parts.length === 2 &&\n            (parts[1] === '.' || parts[1] === '')\n          ) {\n            didSomething = true\n            parts.pop()\n          }\n        }\n\n        // 
/

/../ ->

/\n        let dd: number = 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) parts.push('')\n            dd -= 2\n          }\n        }\n      }\n    } while (didSomething)\n\n    return globParts\n  }\n\n  // second phase: multi-pattern dedupes\n  // {
/*/,
/

/} ->

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

/} ->

/**/\n  // ^-- not valid because ** doens't follow symlinks\n  secondPhasePreProcess(globParts: string[][]): string[][] {\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(\n          globParts[i],\n          globParts[j],\n          !this.preserveMultipleSlashes\n        )\n        if (!matched) continue\n        globParts[i] = matched\n        globParts[j] = []\n      }\n    }\n    return globParts.filter(gs => gs.length)\n  }\n\n  partsMatch(\n    a: string[],\n    b: string[],\n    emptyGSMatch: boolean = false\n  ): false | string[] {\n    let ai = 0\n    let bi = 0\n    let result: string[] = []\n    let which: string = ''\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      } else if (emptyGSMatch && a[ai] === '**' && b[bi] === a[ai + 1]) {\n        result.push(a[ai])\n        ai++\n      } else if (emptyGSMatch && b[bi] === '**' && a[ai] === b[bi + 1]) {\n        result.push(b[bi])\n        bi++\n      } else if (\n        a[ai] === '*' &&\n        b[bi] &&\n        (this.options.dot || !b[bi].startsWith('.')) &&\n        b[bi] !== '**'\n      ) {\n        if (which === 'b') return false\n        which = 'a'\n        result.push(a[ai])\n        ai++\n        bi++\n      } else if (\n        b[bi] === '*' &&\n        a[ai] &&\n        (this.options.dot || !a[ai].startsWith('.')) &&\n        a[ai] !== '**'\n      ) {\n        if (which === 'a') return false\n        which = 'b'\n        result.push(b[bi])\n        ai++\n        bi++\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\n  parseNegate() {\n    if (this.nonegate) return\n\n    const pattern = this.pattern\n    let negate = false\n    let negateOffset = 0\n\n    for (let i = 0; i < pattern.length && pattern.charAt(i) === '!'; i++) {\n      negate = !negate\n      negateOffset++\n    }\n\n    if (negateOffset) this.pattern = pattern.slice(negateOffset)\n    this.negate = negate\n  }\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: string[], pattern: ParseReturn[], partial: boolean = false) {\n    const options = this.options\n\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 =\n        !fileDrive &&\n        file[0] === '' &&\n        file[1] === '' &&\n        file[2] === '?' &&\n        /^[a-z]:$/i.test(file[3])\n\n      const patternDrive =\n        typeof pattern[0] === 'string' && /^[a-z]:$/i.test(pattern[0])\n      const patternUNC =\n        !patternDrive &&\n        pattern[0] === '' &&\n        pattern[1] === '' &&\n        pattern[2] === '?' &&\n        typeof pattern[3] === 'string' &&\n        /^[a-z]:$/i.test(pattern[3])\n\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]: [string, string] = [file[fdi], pattern[pdi] as string]\n        if (fd.toLowerCase() === pd.toLowerCase()) {\n          pattern[pdi] = fd\n          if (pdi > fdi) {\n            pattern = pattern.slice( pdi)\n          } else if (fdi > pdi) {\n            file = file.slice(fdi)\n          }\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\n    this.debug('matchOne', this, { file, pattern })\n    this.debug('matchOne', file.length, pattern.length)\n\n    for (\n      var fi = 0, pi = 0, fl = file.length, pl = pattern.length;\n      fi < fl && pi < pl;\n      fi++, pi++\n    ) {\n      this.debug('matchOne loop')\n      var p = pattern[pi]\n      var f = file[fi]\n\n      this.debug(pattern, p, f)\n\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\n      if (p === GLOBSTAR) {\n        this.debug('GLOBSTAR', [pattern, p, f])\n\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 (\n              file[fi] === '.' ||\n              file[fi] === '..' ||\n              (!options.dot && file[fi].charAt(0) === '.')\n            )\n              return false\n          }\n          return true\n        }\n\n        // ok, let's see if we can swallow whatever we can.\n        while (fr < fl) {\n          var swallowee = file[fr]\n\n          this.debug('\\nglobstar while', file, fr, pattern, pr, swallowee)\n\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          } else {\n            // can't swallow \".\" or \"..\" ever.\n            // can only swallow \".foo\" when explicitly asked.\n            if (\n              swallowee === '.' ||\n              swallowee === '..' ||\n              (!options.dot && swallowee.charAt(0) === '.')\n            ) {\n              this.debug('dot detected!', file, fr, pattern, pr)\n              break\n            }\n\n            // ** swallows a segment, and continue.\n            this.debug('globstar swallow a segment, and continue')\n            fr++\n          }\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\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: boolean\n      if (typeof p === 'string') {\n        hit = f === p\n        this.debug('string match', p, f, hit)\n      } else {\n        hit = p.test(f)\n        this.debug('pattern match', p, f, hit)\n      }\n\n      if (!hit) return false\n    }\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\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    } 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    } 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\n      /* c8 ignore start */\n    } else {\n      // should be unreachable.\n      throw new Error('wtf?')\n    }\n    /* c8 ignore stop */\n  }\n\n  braceExpand() {\n    return braceExpand(this.pattern, this.options)\n  }\n\n  parse(pattern: string): ParseReturn {\n    assertValidPattern(pattern)\n\n    const options = this.options\n\n    // shortcuts\n    if (pattern === '**') return GLOBSTAR\n    if (pattern === '') return ''\n\n    // far and away, the most common glob pattern parts are\n    // *, *.*, and *.  Add a fast check method for those.\n    let m: RegExpMatchArray | null\n    let fastTest: null | ((f: string) => boolean) = null\n    if ((m = pattern.match(starRE))) {\n      fastTest = options.dot ? starTestDot : starTest\n    } else if ((m = pattern.match(starDotExtRE))) {\n      fastTest = (\n        options.nocase\n          ? options.dot\n            ? starDotExtTestNocaseDot\n            : starDotExtTestNocase\n          : options.dot\n          ? starDotExtTestDot\n          : starDotExtTest\n      )(m[1])\n    } else if ((m = pattern.match(qmarksRE))) {\n      fastTest = (\n        options.nocase\n          ? options.dot\n            ? qmarksTestNocaseDot\n            : qmarksTestNocase\n          : options.dot\n          ? qmarksTestDot\n          : qmarksTest\n      )(m)\n    } else if ((m = pattern.match(starDotStarRE))) {\n      fastTest = options.dot ? starDotStarTestDot : starDotStarTest\n    } else if ((m = pattern.match(dotStarRE))) {\n      fastTest = dotStarTest\n    }\n\n    const re = AST.fromGlob(pattern, this.options).toMMPattern()\n    return fastTest ? Object.assign(re, { test: fastTest }) : re\n  }\n\n  makeRe() {\n    if (this.regexp || this.regexp === false) return this.regexp\n\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\n    if (!set.length) {\n      this.regexp = false\n      return this.regexp\n    }\n    const options = this.options\n\n    const twoStar = options.noglobstar\n      ? star\n      : options.dot\n      ? twoStarDot\n      : twoStarNoDot\n    const flags = new Set(options.nocase ? ['i'] : [])\n\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: (string | typeof GLOBSTAR)[] = pattern.map(p => {\n          if (p instanceof RegExp) {\n            for (const f of p.flags.split('')) flags.add(f)\n          }\n          return typeof p === 'string'\n            ? regExpEscape(p)\n            : p === GLOBSTAR\n            ? GLOBSTAR\n            : p._src\n        }) as (string | typeof GLOBSTAR)[]\n        pp.forEach((p, i) => {\n          const next = pp[i + 1]\n          const prev = pp[i - 1]\n          if (p !== GLOBSTAR || prev === GLOBSTAR) {\n            return\n          }\n          if (prev === undefined) {\n            if (next !== undefined && next !== GLOBSTAR) {\n              pp[i + 1] = '(?:\\\\/|' + twoStar + '\\\\/)?' + next\n            } else {\n              pp[i] = twoStar\n            }\n          } else if (next === undefined) {\n            pp[i - 1] = prev + '(?:\\\\/|' + twoStar + ')?'\n          } else if (next !== GLOBSTAR) {\n            pp[i - 1] = prev + '(?:\\\\/|\\\\/' + twoStar + '\\\\/)' + next\n            pp[i + 1] = GLOBSTAR\n          }\n        })\n        return pp.filter(p => p !== GLOBSTAR).join('/')\n      })\n      .join('|')\n\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\n    // can match anything, as long as it's not this.\n    if (this.negate) re = '^(?!' + re + ').+$'\n\n    try {\n      this.regexp = new RegExp(re, [...flags].join(''))\n      /* c8 ignore start */\n    } catch (ex) {\n      // should be impossible\n      this.regexp = false\n    }\n    /* c8 ignore stop */\n    return this.regexp\n  }\n\n  slashSplit(p: string) {\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    } else if (this.isWindows && /^\\/\\/[^\\/]+/.test(p)) {\n      // add an extra '' for the one we lose\n      return ['', ...p.split(/\\/+/)]\n    } else {\n      return p.split(/\\/+/)\n    }\n  }\n\n  match(f: string, 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\n    if (f === '/' && partial) {\n      return true\n    }\n\n    const options = this.options\n\n    // windows: need to use /, not \\\n    if (this.isWindows) {\n      f = f.split('\\\\').join('/')\n    }\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\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\n    const set = this.set\n    this.debug(this.pattern, 'set', set)\n\n    // Find the basename of the path by looking for the last non-empty segment\n    let filename: string = 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\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\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\n  static defaults(def: MinimatchOptions) {\n    return minimatch.defaults(def).Minimatch\n  }\n}\n/* c8 ignore start */\nexport { AST } from './ast.js'\nexport { escape } from './escape.js'\nexport { unescape } from './unescape.js'\n/* c8 ignore stop */\nminimatch.AST = AST\nminimatch.Minimatch = Minimatch\nminimatch.escape = escape\nminimatch.unescape = unescape\n","const MAX_PATTERN_LENGTH = 1024 * 64\nexport const assertValidPattern: (pattern: any) => void = (\n  pattern: any\n): asserts pattern is string => {\n  if (typeof pattern !== 'string') {\n    throw new TypeError('invalid pattern')\n  }\n\n  if (pattern.length > MAX_PATTERN_LENGTH) {\n    throw new TypeError('pattern is too long')\n  }\n}\n","// translate the various posix character classes into unicode properties\n// this works across all unicode locales\n\n// { : [, /u flag required, negated]\nconst posixClasses: { [k: string]: [e: string, u: boolean, n?: boolean] } = {\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\n// only need to escape a few things inside of brace expressions\n// escapes: [ \\ ] -\nconst braceEscape = (s: string) => s.replace(/[[\\]\\\\-]/g, '\\\\$&')\n// escape all regexp magic characters\nconst regexpEscape = (s: string) =>\n  s.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&')\n\n// everything has already been escaped, we just have to join\nconst rangesToString = (ranges: string[]): string => ranges.join('')\n\nexport type ParseClassResult = [\n  src: string,\n  uFlag: boolean,\n  consumed: number,\n  hasMagic: boolean\n]\n\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.\nexport const parseClass = (\n  glob: string,\n  position: number\n): ParseClassResult => {\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: string[] = []\n  const negs: string[] = []\n\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\n    if (c === ']' && sawStart && !escaping) {\n      endPos = i + 1\n      break\n    }\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) negs.push(unip)\n          else ranges.push(unip)\n          uflag = uflag || u\n          continue WHILE\n        }\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      } else if (c === rangeStart) {\n        ranges.push(braceEscape(c))\n      }\n      rangeStart = ''\n      i++\n      continue\n    }\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\n    // not the start of a range, just a single character\n    ranges.push(braceEscape(c))\n    i++\n  }\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\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\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 (\n    negs.length === 0 &&\n    ranges.length === 1 &&\n    /^\\\\?.$/.test(ranges[0]) &&\n    !negate\n  ) {\n    const r = ranges[0].length === 2 ? ranges[0].slice(-1) : ranges[0]\n    return [regexpEscape(r), false, endPos - pos, false]\n  }\n\n  const sranges = '[' + (negate ? '^' : '') + rangesToString(ranges) + ']'\n  const snegs = '[' + (negate ? '' : '^') + rangesToString(negs) + ']'\n  const comb =\n    ranges.length && negs.length\n      ? '(' + sranges + '|' + snegs + ')'\n      : ranges.length\n      ? sranges\n      : snegs\n\n  return [comb, uflag, endPos - pos, true]\n}\n","import { MinimatchOptions } from './index.js'\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 */\nexport const unescape = (\n  s: string,\n  {\n    windowsPathsNoEscape = false,\n  }: Pick = {}\n) => {\n  return windowsPathsNoEscape\n    ? s.replace(/\\[([^\\/\\\\])\\]/g, '$1')\n    : s.replace(/((?!\\\\).|^)\\[([^\\/\\\\])\\]/g, '$1$2').replace(/\\\\([^\\/])/g, '$1')\n}\n","// parse a single path portion\n\nimport { parseClass } from './brace-expressions.js'\nimport { MinimatchOptions, MMRegExp } from './index.js'\nimport { unescape } from './unescape.js'\n\n// classes [] are handled by the parseClass method\n// for positive extglobs, we sub-parse the contents, and combine,\n// with the appropriate regexp close.\n// for negative extglobs, we sub-parse the contents, but then\n// have to include the rest of the pattern, then the parent, etc.,\n// as the thing that cannot be because RegExp negative lookaheads\n// are different from globs.\n//\n// So for example:\n// a@(i|w!(x|y)z|j)b => ^a(i|w((!?(x|y)zb).*)z|j)b$\n//   1   2 3   4 5 6      1   2    3   46      5 6\n//\n// Assembling the extglob requires not just the negated patterns themselves,\n// but also anything following the negative patterns up to the boundary\n// of the current pattern, plus anything following in the parent pattern.\n//\n//\n// So, first, we parse the string into an AST of extglobs, without turning\n// anything into regexps yet.\n//\n// ['a', {@ [['i'], ['w', {!['x', 'y']}, 'z'], ['j']]}, 'b']\n//\n// Then, for all the negative extglobs, we append whatever comes after in\n// each parent as their tail\n//\n// ['a', {@ [['i'], ['w', {!['x', 'y'], 'z', 'b'}, 'z'], ['j']]}, 'b']\n//\n// Lastly, we turn each of these pieces into a regexp, and join\n//\n//                                 v----- .* because there's more following,\n//                                 v    v  otherwise, .+ because it must be\n//                                 v    v  *something* there.\n// ['^a', {@ ['i', 'w(?:(!?(?:x|y).*zb$).*)z', 'j' ]}, 'b$']\n//   copy what follows into here--^^^^^\n// ['^a', '(?:i|w(?:(?!(?:x|y).*zb$).*)z|j)', 'b$']\n// ['^a(?:i|w(?:(?!(?:x|y).*zb$).*)z|j)b$']\n\nexport type ExtglobType = '!' | '?' | '+' | '*' | '@'\nconst types = new Set(['!', '?', '+', '*', '@'])\nconst isExtglobType = (c: string): c is ExtglobType =>\n  types.has(c as ExtglobType)\n\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\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: string) =>\n  s.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&')\n\n// any single thing other than /\nconst qmark = '[^/]'\n\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\n// remove the \\ chars that we added if we end up doing a nonmagic compare\n// const deslash = (s: string) => s.replace(/\\\\(.)/g, '$1')\n\nexport class AST {\n  type: ExtglobType | null\n  readonly #root: AST\n\n  #hasMagic?: boolean\n  #uflag: boolean = false\n  #parts: (string | AST)[] = []\n  readonly #parent?: AST\n  readonly #parentIndex: number\n  #negs: AST[]\n  #filledNegs: boolean = false\n  #options: MinimatchOptions\n  #toString?: string\n  // set to true if it's an extglob with no children\n  // (which really means one child of '')\n  #emptyExt: boolean = false\n\n  constructor(\n    type: ExtglobType | null,\n    parent?: AST,\n    options: MinimatchOptions = {}\n  ) {\n    this.type = type\n    // extglobs are inherently magical\n    if (type) 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) this.#negs.push(this)\n    this.#parentIndex = this.#parent ? this.#parent.#parts.length : 0\n  }\n\n  get hasMagic(): boolean | undefined {\n    /* c8 ignore start */\n    if (this.#hasMagic !== undefined) return this.#hasMagic\n    /* c8 ignore stop */\n    for (const p of this.#parts) {\n      if (typeof p === 'string') continue\n      if (p.type || p.hasMagic) 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\n  // reconstructs the pattern\n  toString(): string {\n    if (this.#toString !== undefined) return this.#toString\n    if (!this.type) {\n      return (this.#toString = this.#parts.map(p => String(p)).join(''))\n    } else {\n      return (this.#toString =\n        this.type + '(' + this.#parts.map(p => String(p)).join('|') + ')')\n    }\n  }\n\n  #fillNegs() {\n    /* c8 ignore start */\n    if (this !== this.#root) throw new Error('should only call on root')\n    if (this.#filledNegs) return this\n    /* c8 ignore stop */\n\n    // call toString() once to fill this out\n    this.toString()\n    this.#filledNegs = true\n    let n: AST | undefined\n    while ((n = this.#negs.pop())) {\n      if (n.type !== '!') continue\n      // walk up the tree, appending everthing that comes AFTER parentIndex\n      let p: AST | undefined = n\n      let pp = p.#parent\n      while (pp) {\n        for (\n          let i = p.#parentIndex + 1;\n          !pp.type && i < pp.#parts.length;\n          i++\n        ) {\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\n  push(...parts: (string | AST)[]) {\n    for (const p of parts) {\n      if (p === '') 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\n  toJSON() {\n    const ret: any[] =\n      this.type === null\n        ? this.#parts.slice().map(p => (typeof p === 'string' ? p : p.toJSON()))\n        : [this.type, ...this.#parts.map(p => (p as AST).toJSON())]\n    if (this.isStart() && !this.type) ret.unshift([])\n    if (\n      this.isEnd() &&\n      (this === this.#root ||\n        (this.#root.#filledNegs && this.#parent?.type === '!'))\n    ) {\n      ret.push({})\n    }\n    return ret\n  }\n\n  isStart(): boolean {\n    if (this.#root === this) return true\n    // if (this.type) return !!this.#parent?.isStart()\n    if (!this.#parent?.isStart()) return false\n    if (this.#parentIndex === 0) 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\n  isEnd(): boolean {\n    if (this.#root === this) return true\n    if (this.#parent?.type === '!') return true\n    if (!this.#parent?.isEnd()) return false\n    if (!this.type) 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\n  copyIn(part: AST | string) {\n    if (typeof part === 'string') this.push(part)\n    else this.push(part.clone(this))\n  }\n\n  clone(parent: AST) {\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\n  static #parseAST(\n    str: string,\n    ast: AST,\n    pos: number,\n    opt: MinimatchOptions\n  ): number {\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\n        if (inBrace) {\n          if (i === braceStart + 1) {\n            if (c === '^' || c === '!') {\n              braceNeg = true\n            }\n          } else if (c === ']' && !(i === braceStart + 2 && braceNeg)) {\n            inBrace = false\n          }\n          acc += c\n          continue\n        } else if (c === '[') {\n          inBrace = true\n          braceStart = i\n          braceNeg = false\n          acc += c\n          continue\n        }\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\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: AST[] = []\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\n      if (inBrace) {\n        if (i === braceStart + 1) {\n          if (c === '^' || c === '!') {\n            braceNeg = true\n          }\n        } else if (c === ']' && !(i === braceStart + 2 && braceNeg)) {\n          inBrace = false\n        }\n        acc += c\n        continue\n      } else if (c === '[') {\n        inBrace = true\n        braceStart = i\n        braceNeg = false\n        acc += c\n        continue\n      }\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\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\n  static fromGlob(pattern: string, options: MinimatchOptions = {}) {\n    const ast = new AST(null, undefined, options)\n    AST.#parseAST(pattern, ast, 0, options)\n    return ast\n  }\n\n  // returns the regular expression if there's magic, or the unescaped\n  // string if not.\n  toMMPattern(): MMRegExp | string {\n    // should only be called on root\n    /* c8 ignore start */\n    if (this !== this.#root) 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 =\n      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\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\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(\n    allowDot?: boolean\n  ): [re: string, body: string, hasMagic: boolean, uflag: boolean] {\n    const dot = allowDot ?? !!this.#options.dot\n    if (this.#root === this) 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] =\n            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\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\n          // '.' and '..' cannot match unless the pattern is that exactly,\n          // even if it starts with . or dot:true is set.\n          const dotTravAllowed =\n            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\n            start = needNoTrav ? startNoTraversal : needNoDot ? startNoDot : ''\n          }\n        }\n      }\n\n      // append the \"end of path portion\" pattern to negation tails\n      let end = ''\n      if (\n        this.isEnd() &&\n        this.#root.#filledNegs &&\n        this.#parent?.type === '!'\n      ) {\n        end = '(?:$|\\\\/)'\n      }\n      const final = start + src + end\n      return [\n        final,\n        unescape(src),\n        (this.#hasMagic = !!this.#hasMagic),\n        this.#uflag,\n      ]\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\n    const repeated = this.type === '*' || this.type === '+'\n    // some kind of extglob\n    const start = this.type === '!' ? '(?:(?!(?:' : '(?:'\n    let body = this.#partsToRegExp(dot)\n\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, unescape(this.toString()), false, false]\n    }\n\n    // XXX abstract out this map method\n    let bodyDotAllowed =\n      !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\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    } else {\n      const close =\n        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      unescape(body),\n      (this.#hasMagic = !!this.#hasMagic),\n      this.#uflag,\n    ]\n  }\n\n  #partsToRegExp(dot: boolean) {\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\n  static #parseGlob(\n    glob: string,\n    hasMagic: boolean | undefined,\n    noEmpty: boolean = false\n  ): [re: string, body: string, hasMagic: boolean, uflag: boolean] {\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        } else {\n          escaping = true\n        }\n        continue\n      }\n      if (c === '[') {\n        const [src, needUflag, consumed, magic] = 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 === '*') re += starNoEmpty\n        else 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, unescape(glob), !!hasMagic, uflag]\n  }\n}\n","import { MinimatchOptions } from './index.js'\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 */\nexport const escape = (\n  s: string,\n  {\n    windowsPathsNoEscape = false,\n  }: Pick = {}\n) => {\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}\n","import { normalize } from 'path'\nimport { simpleGit } from 'simple-git'\n\n/**\n * Calculate what files changed since the review was given\n */\nexport const getHeadDiffSinceReview = async ({\n  headSha,\n  reviewAssociatedSha,\n  baseBranch,\n}: {\n  headSha: string\n  reviewAssociatedSha: string\n  baseBranch: string\n}) => {\n  const git = simpleGit()\n\n  // this diff contains all changes between head and review associated commit, including changes in merge commits\n  const headAndReviewDiff = (\n    await git.diffSummary([`${reviewAssociatedSha}..${headSha}`])\n  ).files.map(({ file }) => file)\n  // this diff basically the same as the PR\n  const mainAndSecondCommitDiff = (\n    await git.diffSummary([`origin/${baseBranch}...${headSha}`])\n  ).files.map(({ file }) => file)\n\n  const intersectionFiles = headAndReviewDiff.filter(file =>\n    mainAndSecondCommitDiff.includes(file),\n  )\n\n  const diffFiles: string[] = []\n\n  // match file rename string e.g. `.github/workflows/{dismiss-reviews.yml => pull-request.yml}`\n  const fileRenameRegex = /{(.*) => (.*)}/\n\n  // find if files from intersectionFiles changed between head and review associated commit relatively to base branch\n  await Promise.all(\n    intersectionFiles.map(async file => {\n      const fileRenameMatch = file.match(fileRenameRegex)\n\n      if (fileRenameMatch) {\n        const path1 = normalize(\n          file.replace(fileRenameRegex, fileRenameMatch[1]),\n        )\n        const path2 = normalize(\n          file.replace(fileRenameRegex, fileRenameMatch[2]),\n        )\n        // push original file name to diffFiles\n        diffFiles.push(path1)\n        // push new file name to diffFiles\n        diffFiles.push(path2)\n\n        console.debug('Filename change:', path1, path2)\n\n        // in case the file was renamed exit early\n        return\n      }\n\n      const firstFileDiff = await git.diff([\n        `origin/${baseBranch}...${reviewAssociatedSha}`,\n        file,\n      ])\n      const secondFileDiff = await git.diff([\n        `origin/${baseBranch}...${headSha}`,\n        file,\n      ])\n\n      // if changed lines don't match, push the file to the diff\n      if (\n        firstFileDiff\n          .split('\\n')\n          // filter only lines with change\n          .filter(line => line.startsWith('+') || line.startsWith('-'))\n          .join('\\n') !==\n        secondFileDiff\n          .split('\\n')\n          .filter(line => line.startsWith('+') || line.startsWith('-'))\n          .join('\\n')\n      ) {\n        diffFiles.push(file)\n      }\n    }),\n  )\n\n  return diffFiles\n}\n","export function isPresent(value: T): value is NonNullable {\n  return value != null\n}\n","import { isPresent } from './type-guards.ts'\nimport { getOctokit } from './get-octokit.ts'\n\nimport type {\n  GetTeamDataQuery,\n  GetTeamDataQueryVariables,\n} from './__generated__/get-team-data.graphql.ts'\n\nconst getPullRequestQuery = /* GraphQL */ `\n  query getTeamData($orgLogin: String!, $teamSlug: String!, $cursor: String) {\n    organization(login: $orgLogin) {\n      team(slug: $teamSlug) {\n        members(first: 100, after: $cursor) {\n          nodes {\n            login\n          }\n          pageInfo {\n            hasNextPage\n            endCursor\n          }\n        }\n      }\n    }\n  }\n`\n\nexport const getTeamData = async ({\n  octokit,\n  organizationLogin,\n  teamSlug,\n}: {\n  octokit: ReturnType\n  organizationLogin: string\n  teamSlug: string\n}) => {\n  const { organization } = await octokit.graphql\n    .paginate(getPullRequestQuery, {\n      orgLogin: organizationLogin,\n      teamSlug,\n    } as GetTeamDataQueryVariables)\n    // eslint-disable-next-line github/no-then\n    .catch(e => {\n      console.error(\n        'Something went wrong during fetching team members data. Make sure that the github token has read access to organization members.',\n      )\n      throw e\n    })\n\n  if (!organization) {\n    throw new Error(`Organization ${organization} could not be found!`)\n  }\n\n  if (!organization.team) {\n    throw new Error(\n      `Team ${organization.team} could not be found in ${organization} organization!`,\n    )\n  }\n\n  if (!organization.team.members.nodes) {\n    throw new Error(\n      `Cannot read members of ${organization.team} team in ${organization} organization!`,\n    )\n  }\n\n  return {\n    members: organization.team.members.nodes\n      .filter(isPresent)\n      .map(({ login }) => login),\n  }\n}\n","import type { getOctokit } from './get-octokit.ts'\n\nimport type {\n  DismissReviewMutation,\n  DismissReviewMutationVariables,\n} from './__generated__/dismiss-reviews.graphql.ts'\n\nconst requestReviewsMutation = /* GraphQL */ `\n  mutation dismissReview($message: String!, $pullRequestReviewId: ID!) {\n    dismissPullRequestReview(\n      input: { message: $message, pullRequestReviewId: $pullRequestReviewId }\n    ) {\n      clientMutationId\n    }\n  }\n`\n\nexport const dismissReviews = async ({\n  octokit,\n  message,\n  reviewsToDismiss,\n}: {\n  octokit: ReturnType\n  message: string\n  reviewsToDismiss: { id: string; author: { login: string } | null }[]\n}) =>\n  Promise.all(\n    reviewsToDismiss.map(async ({ id: pullRequestReviewId, author }) => {\n      try {\n        octokit.graphql(requestReviewsMutation, {\n          message,\n          pullRequestReviewId,\n        } as DismissReviewMutationVariables)\n      } catch {\n        console.error(`Failed to dismiss review from ${author?.login}.`)\n      }\n    }),\n  )\n","import { isPresent } from './type-guards.ts'\nimport { getOctokit } from './get-octokit.ts'\n\nimport type {\n  GetPrDataQuery,\n  GetPrDataQueryVariables,\n} from './__generated__/get-pr-data.graphql.ts'\n\nconst getPullRequestQuery = /* GraphQL */ `\n  query getPrData($nodeId: ID!, $cursor: String) {\n    node(id: $nodeId) {\n      __typename\n      ... on PullRequest {\n        commits(last: 1) {\n          nodes {\n            commit {\n              oid\n              abbreviatedOid\n              committedDate\n            }\n          }\n        }\n        latestOpinionatedReviews(first: 100, after: $cursor) {\n          nodes {\n            id\n            state\n            commit {\n              abbreviatedOid\n            }\n            author {\n              __typename\n              login\n              ... on User {\n                id\n              }\n            }\n            publishedAt\n          }\n          pageInfo {\n            hasNextPage\n            endCursor\n          }\n        }\n      }\n    }\n  }\n`\n\nexport const getPrData = async ({\n  octokit,\n  pullRequestId,\n}: {\n  octokit: ReturnType\n  pullRequestId: string\n}) => {\n  const { node: pullRequest } = await octokit.graphql.paginate(\n    getPullRequestQuery,\n    {\n      nodeId: pullRequestId,\n    } as GetPrDataQueryVariables,\n  )\n\n  if (!pullRequest || pullRequest.__typename !== 'PullRequest') {\n    throw new Error('The pull request could not be found!')\n  }\n\n  if (!pullRequest.commits.nodes) {\n    throw new Error('Pull request commits are missing!')\n  }\n\n  return {\n    commits: pullRequest.commits.nodes.filter(isPresent),\n    latestReviews:\n      pullRequest.latestOpinionatedReviews?.nodes?.filter(isPresent) || [],\n  }\n}\n","// pkg/dist-src/index.js\nimport { getUserAgent } from \"universal-user-agent\";\nimport { Collection } from \"before-after-hook\";\nimport { request } from \"@octokit/request\";\nimport { graphql, withCustomRequest } from \"@octokit/graphql\";\nimport { createTokenAuth } from \"@octokit/auth-token\";\n\n// pkg/dist-src/version.js\nvar VERSION = \"5.0.0\";\n\n// pkg/dist-src/index.js\nvar Octokit = class {\n  static {\n    this.VERSION = VERSION;\n  }\n  static defaults(defaults) {\n    const OctokitWithDefaults = class extends this {\n      constructor(...args) {\n        const options = args[0] || {};\n        if (typeof defaults === \"function\") {\n          super(defaults(options));\n          return;\n        }\n        super(\n          Object.assign(\n            {},\n            defaults,\n            options,\n            options.userAgent && defaults.userAgent ? {\n              userAgent: `${options.userAgent} ${defaults.userAgent}`\n            } : null\n          )\n        );\n      }\n    };\n    return OctokitWithDefaults;\n  }\n  static {\n    this.plugins = [];\n  }\n  /**\n   * Attach a plugin (or many) to your Octokit instance.\n   *\n   * @example\n   * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...)\n   */\n  static plugin(...newPlugins) {\n    const currentPlugins = this.plugins;\n    const NewOctokit = class extends this {\n      static {\n        this.plugins = currentPlugins.concat(\n          newPlugins.filter((plugin) => !currentPlugins.includes(plugin))\n        );\n      }\n    };\n    return NewOctokit;\n  }\n  constructor(options = {}) {\n    const hook = new Collection();\n    const requestDefaults = {\n      baseUrl: request.endpoint.DEFAULTS.baseUrl,\n      headers: {},\n      request: Object.assign({}, options.request, {\n        // @ts-ignore internal usage only, no need to type\n        hook: hook.bind(null, \"request\")\n      }),\n      mediaType: {\n        previews: [],\n        format: \"\"\n      }\n    };\n    requestDefaults.headers[\"user-agent\"] = [\n      options.userAgent,\n      `octokit-core.js/${VERSION} ${getUserAgent()}`\n    ].filter(Boolean).join(\" \");\n    if (options.baseUrl) {\n      requestDefaults.baseUrl = options.baseUrl;\n    }\n    if (options.previews) {\n      requestDefaults.mediaType.previews = options.previews;\n    }\n    if (options.timeZone) {\n      requestDefaults.headers[\"time-zone\"] = options.timeZone;\n    }\n    this.request = request.defaults(requestDefaults);\n    this.graphql = withCustomRequest(this.request).defaults(requestDefaults);\n    this.log = Object.assign(\n      {\n        debug: () => {\n        },\n        info: () => {\n        },\n        warn: console.warn.bind(console),\n        error: console.error.bind(console)\n      },\n      options.log\n    );\n    this.hook = hook;\n    if (!options.authStrategy) {\n      if (!options.auth) {\n        this.auth = async () => ({\n          type: \"unauthenticated\"\n        });\n      } else {\n        const auth = createTokenAuth(options.auth);\n        hook.wrap(\"request\", auth.hook);\n        this.auth = auth;\n      }\n    } else {\n      const { authStrategy, ...otherOptions } = options;\n      const auth = authStrategy(\n        Object.assign(\n          {\n            request: this.request,\n            log: this.log,\n            // we pass the current octokit instance as well as its constructor options\n            // to allow for authentication strategies that return a new octokit instance\n            // that shares the same internal state as the current one. The original\n            // requirement for this was the \"event-octokit\" authentication strategy\n            // of https://github.com/probot/octokit-auth-probot.\n            octokit: this,\n            octokitOptions: otherOptions\n          },\n          options.auth\n        )\n      );\n      hook.wrap(\"request\", auth.hook);\n      this.auth = auth;\n    }\n    const classConstructor = this.constructor;\n    classConstructor.plugins.forEach((plugin) => {\n      Object.assign(this, plugin(this, options));\n    });\n  }\n};\nexport {\n  Octokit\n};\n","import { getUserAgent } from \"universal-user-agent\";\nimport { VERSION } from \"./version\";\nconst userAgent = `octokit-endpoint.js/${VERSION} ${getUserAgent()}`;\nconst DEFAULTS = {\n  method: \"GET\",\n  baseUrl: \"https://api.github.com\",\n  headers: {\n    accept: \"application/vnd.github.v3+json\",\n    \"user-agent\": userAgent\n  },\n  mediaType: {\n    format: \"\"\n  }\n};\nexport {\n  DEFAULTS\n};\n","const VERSION = \"9.0.0\";\nexport {\n  VERSION\n};\n","function lowercaseKeys(object) {\n  if (!object) {\n    return {};\n  }\n  return Object.keys(object).reduce((newObj, key) => {\n    newObj[key.toLowerCase()] = object[key];\n    return newObj;\n  }, {});\n}\nexport {\n  lowercaseKeys\n};\n","import { isPlainObject } from \"is-plain-object\";\nfunction mergeDeep(defaults, options) {\n  const result = Object.assign({}, defaults);\n  Object.keys(options).forEach((key) => {\n    if (isPlainObject(options[key])) {\n      if (!(key in defaults))\n        Object.assign(result, { [key]: options[key] });\n      else\n        result[key] = mergeDeep(defaults[key], options[key]);\n    } else {\n      Object.assign(result, { [key]: options[key] });\n    }\n  });\n  return result;\n}\nexport {\n  mergeDeep\n};\n","function removeUndefinedProperties(obj) {\n  for (const key in obj) {\n    if (obj[key] === void 0) {\n      delete obj[key];\n    }\n  }\n  return obj;\n}\nexport {\n  removeUndefinedProperties\n};\n","import { lowercaseKeys } from \"./util/lowercase-keys\";\nimport { mergeDeep } from \"./util/merge-deep\";\nimport { removeUndefinedProperties } from \"./util/remove-undefined-properties\";\nfunction merge(defaults, route, options) {\n  if (typeof route === \"string\") {\n    let [method, url] = route.split(\" \");\n    options = Object.assign(url ? { method, url } : { url: method }, options);\n  } else {\n    options = Object.assign({}, route);\n  }\n  options.headers = lowercaseKeys(options.headers);\n  removeUndefinedProperties(options);\n  removeUndefinedProperties(options.headers);\n  const mergedOptions = mergeDeep(defaults || {}, options);\n  if (options.url === \"/graphql\") {\n    if (defaults && defaults.mediaType.previews?.length) {\n      mergedOptions.mediaType.previews = defaults.mediaType.previews.filter(\n        (preview) => !mergedOptions.mediaType.previews.includes(preview)\n      ).concat(mergedOptions.mediaType.previews);\n    }\n    mergedOptions.mediaType.previews = (mergedOptions.mediaType.previews || []).map((preview) => preview.replace(/-preview/, \"\"));\n  }\n  return mergedOptions;\n}\nexport {\n  merge\n};\n","function addQueryParameters(url, parameters) {\n  const separator = /\\?/.test(url) ? \"&\" : \"?\";\n  const names = Object.keys(parameters);\n  if (names.length === 0) {\n    return url;\n  }\n  return url + separator + names.map((name) => {\n    if (name === \"q\") {\n      return \"q=\" + parameters.q.split(\"+\").map(encodeURIComponent).join(\"+\");\n    }\n    return `${name}=${encodeURIComponent(parameters[name])}`;\n  }).join(\"&\");\n}\nexport {\n  addQueryParameters\n};\n","const urlVariableRegex = /\\{[^}]+\\}/g;\nfunction removeNonChars(variableName) {\n  return variableName.replace(/^\\W+|\\W+$/g, \"\").split(/,/);\n}\nfunction extractUrlVariableNames(url) {\n  const matches = url.match(urlVariableRegex);\n  if (!matches) {\n    return [];\n  }\n  return matches.map(removeNonChars).reduce((a, b) => a.concat(b), []);\n}\nexport {\n  extractUrlVariableNames\n};\n","function omit(object, keysToOmit) {\n  return Object.keys(object).filter((option) => !keysToOmit.includes(option)).reduce((obj, key) => {\n    obj[key] = object[key];\n    return obj;\n  }, {});\n}\nexport {\n  omit\n};\n","function encodeReserved(str) {\n  return str.split(/(%[0-9A-Fa-f]{2})/g).map(function(part) {\n    if (!/%[0-9A-Fa-f]/.test(part)) {\n      part = encodeURI(part).replace(/%5B/g, \"[\").replace(/%5D/g, \"]\");\n    }\n    return part;\n  }).join(\"\");\n}\nfunction encodeUnreserved(str) {\n  return encodeURIComponent(str).replace(/[!'()*]/g, function(c) {\n    return \"%\" + c.charCodeAt(0).toString(16).toUpperCase();\n  });\n}\nfunction encodeValue(operator, value, key) {\n  value = operator === \"+\" || operator === \"#\" ? encodeReserved(value) : encodeUnreserved(value);\n  if (key) {\n    return encodeUnreserved(key) + \"=\" + value;\n  } else {\n    return value;\n  }\n}\nfunction isDefined(value) {\n  return value !== void 0 && value !== null;\n}\nfunction isKeyOperator(operator) {\n  return operator === \";\" || operator === \"&\" || operator === \"?\";\n}\nfunction getValues(context, operator, key, modifier) {\n  var value = context[key], result = [];\n  if (isDefined(value) && value !== \"\") {\n    if (typeof value === \"string\" || typeof value === \"number\" || typeof value === \"boolean\") {\n      value = value.toString();\n      if (modifier && modifier !== \"*\") {\n        value = value.substring(0, parseInt(modifier, 10));\n      }\n      result.push(\n        encodeValue(operator, value, isKeyOperator(operator) ? key : \"\")\n      );\n    } else {\n      if (modifier === \"*\") {\n        if (Array.isArray(value)) {\n          value.filter(isDefined).forEach(function(value2) {\n            result.push(\n              encodeValue(operator, value2, isKeyOperator(operator) ? key : \"\")\n            );\n          });\n        } else {\n          Object.keys(value).forEach(function(k) {\n            if (isDefined(value[k])) {\n              result.push(encodeValue(operator, value[k], k));\n            }\n          });\n        }\n      } else {\n        const tmp = [];\n        if (Array.isArray(value)) {\n          value.filter(isDefined).forEach(function(value2) {\n            tmp.push(encodeValue(operator, value2));\n          });\n        } else {\n          Object.keys(value).forEach(function(k) {\n            if (isDefined(value[k])) {\n              tmp.push(encodeUnreserved(k));\n              tmp.push(encodeValue(operator, value[k].toString()));\n            }\n          });\n        }\n        if (isKeyOperator(operator)) {\n          result.push(encodeUnreserved(key) + \"=\" + tmp.join(\",\"));\n        } else if (tmp.length !== 0) {\n          result.push(tmp.join(\",\"));\n        }\n      }\n    }\n  } else {\n    if (operator === \";\") {\n      if (isDefined(value)) {\n        result.push(encodeUnreserved(key));\n      }\n    } else if (value === \"\" && (operator === \"&\" || operator === \"?\")) {\n      result.push(encodeUnreserved(key) + \"=\");\n    } else if (value === \"\") {\n      result.push(\"\");\n    }\n  }\n  return result;\n}\nfunction parseUrl(template) {\n  return {\n    expand: expand.bind(null, template)\n  };\n}\nfunction expand(template, context) {\n  var operators = [\"+\", \"#\", \".\", \"/\", \";\", \"?\", \"&\"];\n  return template.replace(\n    /\\{([^\\{\\}]+)\\}|([^\\{\\}]+)/g,\n    function(_, expression, literal) {\n      if (expression) {\n        let operator = \"\";\n        const values = [];\n        if (operators.indexOf(expression.charAt(0)) !== -1) {\n          operator = expression.charAt(0);\n          expression = expression.substr(1);\n        }\n        expression.split(/,/g).forEach(function(variable) {\n          var tmp = /([^:\\*]*)(?::(\\d+)|(\\*))?/.exec(variable);\n          values.push(getValues(context, operator, tmp[1], tmp[2] || tmp[3]));\n        });\n        if (operator && operator !== \"+\") {\n          var separator = \",\";\n          if (operator === \"?\") {\n            separator = \"&\";\n          } else if (operator !== \"#\") {\n            separator = operator;\n          }\n          return (values.length !== 0 ? operator : \"\") + values.join(separator);\n        } else {\n          return values.join(\",\");\n        }\n      } else {\n        return encodeReserved(literal);\n      }\n    }\n  );\n}\nexport {\n  parseUrl\n};\n","import { addQueryParameters } from \"./util/add-query-parameters\";\nimport { extractUrlVariableNames } from \"./util/extract-url-variable-names\";\nimport { omit } from \"./util/omit\";\nimport { parseUrl } from \"./util/url-template\";\nfunction parse(options) {\n  let method = options.method.toUpperCase();\n  let url = (options.url || \"/\").replace(/:([a-z]\\w+)/g, \"{$1}\");\n  let headers = Object.assign({}, options.headers);\n  let body;\n  let parameters = omit(options, [\n    \"method\",\n    \"baseUrl\",\n    \"url\",\n    \"headers\",\n    \"request\",\n    \"mediaType\"\n  ]);\n  const urlVariableNames = extractUrlVariableNames(url);\n  url = parseUrl(url).expand(parameters);\n  if (!/^http/.test(url)) {\n    url = options.baseUrl + url;\n  }\n  const omittedParameters = Object.keys(options).filter((option) => urlVariableNames.includes(option)).concat(\"baseUrl\");\n  const remainingParameters = omit(parameters, omittedParameters);\n  const isBinaryRequest = /application\\/octet-stream/i.test(headers.accept);\n  if (!isBinaryRequest) {\n    if (options.mediaType.format) {\n      headers.accept = headers.accept.split(/,/).map(\n        (format) => format.replace(\n          /application\\/vnd(\\.\\w+)(\\.v3)?(\\.\\w+)?(\\+json)?$/,\n          `application/vnd$1$2.${options.mediaType.format}`\n        )\n      ).join(\",\");\n    }\n    if (url.endsWith(\"/graphql\")) {\n      if (options.mediaType.previews?.length) {\n        const previewsFromAcceptHeader = headers.accept.match(/[\\w-]+(?=-preview)/g) || [];\n        headers.accept = previewsFromAcceptHeader.concat(options.mediaType.previews).map((preview) => {\n          const format = options.mediaType.format ? `.${options.mediaType.format}` : \"+json\";\n          return `application/vnd.github.${preview}-preview${format}`;\n        }).join(\",\");\n      }\n    }\n  }\n  if ([\"GET\", \"HEAD\"].includes(method)) {\n    url = addQueryParameters(url, remainingParameters);\n  } else {\n    if (\"data\" in remainingParameters) {\n      body = remainingParameters.data;\n    } else {\n      if (Object.keys(remainingParameters).length) {\n        body = remainingParameters;\n      }\n    }\n  }\n  if (!headers[\"content-type\"] && typeof body !== \"undefined\") {\n    headers[\"content-type\"] = \"application/json; charset=utf-8\";\n  }\n  if ([\"PATCH\", \"PUT\"].includes(method) && typeof body === \"undefined\") {\n    body = \"\";\n  }\n  return Object.assign(\n    { method, url, headers },\n    typeof body !== \"undefined\" ? { body } : null,\n    options.request ? { request: options.request } : null\n  );\n}\nexport {\n  parse\n};\n","import { DEFAULTS } from \"./defaults\";\nimport { merge } from \"./merge\";\nimport { parse } from \"./parse\";\nfunction endpointWithDefaults(defaults, route, options) {\n  return parse(merge(defaults, route, options));\n}\nexport {\n  endpointWithDefaults\n};\n","import { endpointWithDefaults } from \"./endpoint-with-defaults\";\nimport { merge } from \"./merge\";\nimport { parse } from \"./parse\";\nfunction withDefaults(oldDefaults, newDefaults) {\n  const DEFAULTS = merge(oldDefaults, newDefaults);\n  const endpoint = endpointWithDefaults.bind(null, DEFAULTS);\n  return Object.assign(endpoint, {\n    DEFAULTS,\n    defaults: withDefaults.bind(null, DEFAULTS),\n    merge: merge.bind(null, DEFAULTS),\n    parse\n  });\n}\nexport {\n  withDefaults\n};\n","import { withDefaults } from \"./with-defaults\";\nimport { DEFAULTS } from \"./defaults\";\nconst endpoint = withDefaults(null, DEFAULTS);\nexport {\n  endpoint\n};\n","import { endpoint } from \"@octokit/endpoint\";\nimport { getUserAgent } from \"universal-user-agent\";\nimport { VERSION } from \"./version\";\nimport withDefaults from \"./with-defaults\";\nconst request = withDefaults(endpoint, {\n  headers: {\n    \"user-agent\": `octokit-request.js/${VERSION} ${getUserAgent()}`\n  }\n});\nexport {\n  request\n};\n","const VERSION = \"8.1.1\";\nexport {\n  VERSION\n};\n","import { isPlainObject } from \"is-plain-object\";\nimport { RequestError } from \"@octokit/request-error\";\nimport getBuffer from \"./get-buffer-response\";\nfunction fetchWrapper(requestOptions) {\n  const log = requestOptions.request && requestOptions.request.log ? requestOptions.request.log : console;\n  const parseSuccessResponseBody = requestOptions.request?.parseSuccessResponseBody !== false;\n  if (isPlainObject(requestOptions.body) || Array.isArray(requestOptions.body)) {\n    requestOptions.body = JSON.stringify(requestOptions.body);\n  }\n  let headers = {};\n  let status;\n  let url;\n  let { fetch } = globalThis;\n  if (requestOptions.request?.fetch) {\n    fetch = requestOptions.request.fetch;\n  }\n  if (!fetch) {\n    throw new Error(\n      \"fetch is not set. Please pass a fetch implementation as new Octokit({ request: { fetch }}). Learn more at https://github.com/octokit/octokit.js/#fetch-missing\"\n    );\n  }\n  return fetch(requestOptions.url, {\n    method: requestOptions.method,\n    body: requestOptions.body,\n    headers: requestOptions.headers,\n    signal: requestOptions.request?.signal,\n    // duplex must be set if request.body is ReadableStream or Async Iterables.\n    // See https://fetch.spec.whatwg.org/#dom-requestinit-duplex.\n    ...requestOptions.body && { duplex: \"half\" }\n  }).then(async (response) => {\n    url = response.url;\n    status = response.status;\n    for (const keyAndValue of response.headers) {\n      headers[keyAndValue[0]] = keyAndValue[1];\n    }\n    if (\"deprecation\" in headers) {\n      const matches = headers.link && headers.link.match(/<([^>]+)>; rel=\"deprecation\"/);\n      const deprecationLink = matches && matches.pop();\n      log.warn(\n        `[@octokit/request] \"${requestOptions.method} ${requestOptions.url}\" is deprecated. It is scheduled to be removed on ${headers.sunset}${deprecationLink ? `. See ${deprecationLink}` : \"\"}`\n      );\n    }\n    if (status === 204 || status === 205) {\n      return;\n    }\n    if (requestOptions.method === \"HEAD\") {\n      if (status < 400) {\n        return;\n      }\n      throw new RequestError(response.statusText, status, {\n        response: {\n          url,\n          status,\n          headers,\n          data: void 0\n        },\n        request: requestOptions\n      });\n    }\n    if (status === 304) {\n      throw new RequestError(\"Not modified\", status, {\n        response: {\n          url,\n          status,\n          headers,\n          data: await getResponseData(response)\n        },\n        request: requestOptions\n      });\n    }\n    if (status >= 400) {\n      const data = await getResponseData(response);\n      const error = new RequestError(toErrorMessage(data), status, {\n        response: {\n          url,\n          status,\n          headers,\n          data\n        },\n        request: requestOptions\n      });\n      throw error;\n    }\n    return parseSuccessResponseBody ? await getResponseData(response) : response.body;\n  }).then((data) => {\n    return {\n      status,\n      url,\n      headers,\n      data\n    };\n  }).catch((error) => {\n    if (error instanceof RequestError)\n      throw error;\n    else if (error.name === \"AbortError\")\n      throw error;\n    throw new RequestError(error.message, 500, {\n      request: requestOptions\n    });\n  });\n}\nasync function getResponseData(response) {\n  const contentType = response.headers.get(\"content-type\");\n  if (/application\\/json/.test(contentType)) {\n    return response.json();\n  }\n  if (!contentType || /^text\\/|charset=utf-8$/.test(contentType)) {\n    return response.text();\n  }\n  return getBuffer(response);\n}\nfunction toErrorMessage(data) {\n  if (typeof data === \"string\")\n    return data;\n  if (\"message\" in data) {\n    if (Array.isArray(data.errors)) {\n      return `${data.message}: ${data.errors.map(JSON.stringify).join(\", \")}`;\n    }\n    return data.message;\n  }\n  return `Unknown error: ${JSON.stringify(data)}`;\n}\nexport {\n  fetchWrapper as default\n};\n","import { Deprecation } from \"deprecation\";\nimport once from \"once\";\nconst logOnceCode = once((deprecation) => console.warn(deprecation));\nconst logOnceHeaders = once((deprecation) => console.warn(deprecation));\nclass RequestError extends Error {\n  constructor(message, statusCode, options) {\n    super(message);\n    if (Error.captureStackTrace) {\n      Error.captureStackTrace(this, this.constructor);\n    }\n    this.name = \"HttpError\";\n    this.status = statusCode;\n    let headers;\n    if (\"headers\" in options && typeof options.headers !== \"undefined\") {\n      headers = options.headers;\n    }\n    if (\"response\" in options) {\n      this.response = options.response;\n      headers = options.response.headers;\n    }\n    const requestCopy = Object.assign({}, options.request);\n    if (options.request.headers.authorization) {\n      requestCopy.headers = Object.assign({}, options.request.headers, {\n        authorization: options.request.headers.authorization.replace(\n          / .*$/,\n          \" [REDACTED]\"\n        )\n      });\n    }\n    requestCopy.url = requestCopy.url.replace(/\\bclient_secret=\\w+/g, \"client_secret=[REDACTED]\").replace(/\\baccess_token=\\w+/g, \"access_token=[REDACTED]\");\n    this.request = requestCopy;\n    Object.defineProperty(this, \"code\", {\n      get() {\n        logOnceCode(\n          new Deprecation(\n            \"[@octokit/request-error] `error.code` is deprecated, use `error.status`.\"\n          )\n        );\n        return statusCode;\n      }\n    });\n    Object.defineProperty(this, \"headers\", {\n      get() {\n        logOnceHeaders(\n          new Deprecation(\n            \"[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`.\"\n          )\n        );\n        return headers || {};\n      }\n    });\n  }\n}\nexport {\n  RequestError\n};\n","function getBufferResponse(response) {\n  return response.arrayBuffer();\n}\nexport {\n  getBufferResponse as default\n};\n","import fetchWrapper from \"./fetch-wrapper\";\nfunction withDefaults(oldEndpoint, newDefaults) {\n  const endpoint = oldEndpoint.defaults(newDefaults);\n  const newApi = function(route, parameters) {\n    const endpointOptions = endpoint.merge(route, parameters);\n    if (!endpointOptions.request || !endpointOptions.request.hook) {\n      return fetchWrapper(endpoint.parse(endpointOptions));\n    }\n    const request = (route2, parameters2) => {\n      return fetchWrapper(\n        endpoint.parse(endpoint.merge(route2, parameters2))\n      );\n    };\n    Object.assign(request, {\n      endpoint,\n      defaults: withDefaults.bind(null, endpoint)\n    });\n    return endpointOptions.request.hook(request, endpointOptions);\n  };\n  return Object.assign(newApi, {\n    endpoint,\n    defaults: withDefaults.bind(null, endpoint)\n  });\n}\nexport {\n  withDefaults as default\n};\n","// pkg/dist-src/index.js\nimport { request } from \"@octokit/request\";\nimport { getUserAgent } from \"universal-user-agent\";\n\n// pkg/dist-src/version.js\nvar VERSION = \"7.0.1\";\n\n// pkg/dist-src/with-defaults.js\nimport { request as Request2 } from \"@octokit/request\";\n\n// pkg/dist-src/graphql.js\nimport { request as Request } from \"@octokit/request\";\n\n// pkg/dist-src/error.js\nfunction _buildMessageForResponseErrors(data) {\n  return `Request failed due to following response errors:\n` + data.errors.map((e) => ` - ${e.message}`).join(\"\\n\");\n}\nvar GraphqlResponseError = class extends Error {\n  constructor(request2, headers, response) {\n    super(_buildMessageForResponseErrors(response));\n    this.request = request2;\n    this.headers = headers;\n    this.response = response;\n    this.name = \"GraphqlResponseError\";\n    this.errors = response.errors;\n    this.data = response.data;\n    if (Error.captureStackTrace) {\n      Error.captureStackTrace(this, this.constructor);\n    }\n  }\n};\n\n// pkg/dist-src/graphql.js\nvar NON_VARIABLE_OPTIONS = [\n  \"method\",\n  \"baseUrl\",\n  \"url\",\n  \"headers\",\n  \"request\",\n  \"query\",\n  \"mediaType\"\n];\nvar FORBIDDEN_VARIABLE_OPTIONS = [\"query\", \"method\", \"url\"];\nvar GHES_V3_SUFFIX_REGEX = /\\/api\\/v3\\/?$/;\nfunction graphql(request2, query, options) {\n  if (options) {\n    if (typeof query === \"string\" && \"query\" in options) {\n      return Promise.reject(\n        new Error(`[@octokit/graphql] \"query\" cannot be used as variable name`)\n      );\n    }\n    for (const key in options) {\n      if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key))\n        continue;\n      return Promise.reject(\n        new Error(\n          `[@octokit/graphql] \"${key}\" cannot be used as variable name`\n        )\n      );\n    }\n  }\n  const parsedOptions = typeof query === \"string\" ? Object.assign({ query }, options) : query;\n  const requestOptions = Object.keys(\n    parsedOptions\n  ).reduce((result, key) => {\n    if (NON_VARIABLE_OPTIONS.includes(key)) {\n      result[key] = parsedOptions[key];\n      return result;\n    }\n    if (!result.variables) {\n      result.variables = {};\n    }\n    result.variables[key] = parsedOptions[key];\n    return result;\n  }, {});\n  const baseUrl = parsedOptions.baseUrl || request2.endpoint.DEFAULTS.baseUrl;\n  if (GHES_V3_SUFFIX_REGEX.test(baseUrl)) {\n    requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, \"/api/graphql\");\n  }\n  return request2(requestOptions).then((response) => {\n    if (response.data.errors) {\n      const headers = {};\n      for (const key of Object.keys(response.headers)) {\n        headers[key] = response.headers[key];\n      }\n      throw new GraphqlResponseError(\n        requestOptions,\n        headers,\n        response.data\n      );\n    }\n    return response.data.data;\n  });\n}\n\n// pkg/dist-src/with-defaults.js\nfunction withDefaults(request2, newDefaults) {\n  const newRequest = request2.defaults(newDefaults);\n  const newApi = (query, options) => {\n    return graphql(newRequest, query, options);\n  };\n  return Object.assign(newApi, {\n    defaults: withDefaults.bind(null, newRequest),\n    endpoint: newRequest.endpoint\n  });\n}\n\n// pkg/dist-src/index.js\nvar graphql2 = withDefaults(request, {\n  headers: {\n    \"user-agent\": `octokit-graphql.js/${VERSION} ${getUserAgent()}`\n  },\n  method: \"POST\",\n  url: \"/graphql\"\n});\nfunction withCustomRequest(customRequest) {\n  return withDefaults(customRequest, {\n    method: \"POST\",\n    url: \"/graphql\"\n  });\n}\nexport {\n  GraphqlResponseError,\n  graphql2 as graphql,\n  withCustomRequest\n};\n","const REGEX_IS_INSTALLATION_LEGACY = /^v1\\./;\nconst REGEX_IS_INSTALLATION = /^ghs_/;\nconst REGEX_IS_USER_TO_SERVER = /^ghu_/;\nasync function auth(token) {\n  const isApp = token.split(/\\./).length === 3;\n  const isInstallation = REGEX_IS_INSTALLATION_LEGACY.test(token) || REGEX_IS_INSTALLATION.test(token);\n  const isUserToServer = REGEX_IS_USER_TO_SERVER.test(token);\n  const tokenType = isApp ? \"app\" : isInstallation ? \"installation\" : isUserToServer ? \"user-to-server\" : \"oauth\";\n  return {\n    type: \"token\",\n    token,\n    tokenType\n  };\n}\nexport {\n  auth\n};\n","function withAuthorizationPrefix(token) {\n  if (token.split(/\\./).length === 3) {\n    return `bearer ${token}`;\n  }\n  return `token ${token}`;\n}\nexport {\n  withAuthorizationPrefix\n};\n","import { withAuthorizationPrefix } from \"./with-authorization-prefix\";\nasync function hook(token, request, route, parameters) {\n  const endpoint = request.endpoint.merge(\n    route,\n    parameters\n  );\n  endpoint.headers.authorization = withAuthorizationPrefix(token);\n  return request(endpoint);\n}\nexport {\n  hook\n};\n","import { auth } from \"./auth\";\nimport { hook } from \"./hook\";\nconst createTokenAuth = function createTokenAuth2(token) {\n  if (!token) {\n    throw new Error(\"[@octokit/auth-token] No token passed to createTokenAuth\");\n  }\n  if (typeof token !== \"string\") {\n    throw new Error(\n      \"[@octokit/auth-token] Token passed to createTokenAuth is not a string\"\n    );\n  }\n  token = token.replace(/^(token|bearer) +/i, \"\");\n  return Object.assign(auth.bind(null, token), {\n    hook: hook.bind(null, token)\n  });\n};\nexport {\n  createTokenAuth\n};\n","const generateMessage = (path, cursorValue) => `The cursor at \"${path.join(\n  \",\"\n)}\" did not change its value \"${cursorValue}\" after a page transition. Please make sure your that your query is set up correctly.`;\nclass MissingCursorChange extends Error {\n  constructor(pageInfo, cursorValue) {\n    super(generateMessage(pageInfo.pathInQuery, cursorValue));\n    this.pageInfo = pageInfo;\n    this.cursorValue = cursorValue;\n    this.name = \"MissingCursorChangeError\";\n    if (Error.captureStackTrace) {\n      Error.captureStackTrace(this, this.constructor);\n    }\n  }\n}\nclass MissingPageInfo extends Error {\n  constructor(response) {\n    super(\n      `No pageInfo property found in response. Please make sure to specify the pageInfo in your query. Response-Data: ${JSON.stringify(\n        response,\n        null,\n        2\n      )}`\n    );\n    this.response = response;\n    this.name = \"MissingPageInfo\";\n    if (Error.captureStackTrace) {\n      Error.captureStackTrace(this, this.constructor);\n    }\n  }\n}\nexport {\n  MissingCursorChange,\n  MissingPageInfo\n};\n","import { MissingPageInfo } from \"./errors\";\nconst isObject = (value) => Object.prototype.toString.call(value) === \"[object Object]\";\nfunction findPaginatedResourcePath(responseData) {\n  const paginatedResourcePath = deepFindPathToProperty(\n    responseData,\n    \"pageInfo\"\n  );\n  if (paginatedResourcePath.length === 0) {\n    throw new MissingPageInfo(responseData);\n  }\n  return paginatedResourcePath;\n}\nconst deepFindPathToProperty = (object, searchProp, path = []) => {\n  for (const key of Object.keys(object)) {\n    const currentPath = [...path, key];\n    const currentValue = object[key];\n    if (currentValue.hasOwnProperty(searchProp)) {\n      return currentPath;\n    }\n    if (isObject(currentValue)) {\n      const result = deepFindPathToProperty(\n        currentValue,\n        searchProp,\n        currentPath\n      );\n      if (result.length > 0) {\n        return result;\n      }\n    }\n  }\n  return [];\n};\nconst get = (object, path) => {\n  return path.reduce((current, nextProperty) => current[nextProperty], object);\n};\nconst set = (object, path, mutator) => {\n  const lastProperty = path[path.length - 1];\n  const parentPath = [...path].slice(0, -1);\n  const parent = get(object, parentPath);\n  if (typeof mutator === \"function\") {\n    parent[lastProperty] = mutator(parent[lastProperty]);\n  } else {\n    parent[lastProperty] = mutator;\n  }\n};\nexport {\n  findPaginatedResourcePath,\n  get,\n  set\n};\n","import { findPaginatedResourcePath, get } from \"./object-helpers\";\nconst extractPageInfos = (responseData) => {\n  const pageInfoPath = findPaginatedResourcePath(responseData);\n  return {\n    pathInQuery: pageInfoPath,\n    pageInfo: get(responseData, [...pageInfoPath, \"pageInfo\"])\n  };\n};\nexport {\n  extractPageInfos\n};\n","const isForwardSearch = (givenPageInfo) => {\n  return givenPageInfo.hasOwnProperty(\"hasNextPage\");\n};\nconst getCursorFrom = (pageInfo) => isForwardSearch(pageInfo) ? pageInfo.endCursor : pageInfo.startCursor;\nconst hasAnotherPage = (pageInfo) => isForwardSearch(pageInfo) ? pageInfo.hasNextPage : pageInfo.hasPreviousPage;\nexport {\n  getCursorFrom,\n  hasAnotherPage\n};\n","import { extractPageInfos } from \"./extract-page-info\";\nimport { Octokit } from \"@octokit/core\";\nimport { getCursorFrom, hasAnotherPage } from \"./page-info\";\nimport { MissingCursorChange } from \"./errors\";\nconst createIterator = (octokit) => {\n  return (query, initialParameters = {}) => {\n    let nextPageExists = true;\n    let parameters = { ...initialParameters };\n    return {\n      [Symbol.asyncIterator]: () => ({\n        async next() {\n          if (!nextPageExists)\n            return { done: true, value: {} };\n          const response = await octokit.graphql(\n            query,\n            parameters\n          );\n          const pageInfoContext = extractPageInfos(response);\n          const nextCursorValue = getCursorFrom(pageInfoContext.pageInfo);\n          nextPageExists = hasAnotherPage(pageInfoContext.pageInfo);\n          if (nextPageExists && nextCursorValue === parameters.cursor) {\n            throw new MissingCursorChange(pageInfoContext, nextCursorValue);\n          }\n          parameters = {\n            ...parameters,\n            cursor: nextCursorValue\n          };\n          return { done: false, value: response };\n        }\n      })\n    };\n  };\n};\nexport {\n  createIterator\n};\n","import { findPaginatedResourcePath, get, set } from \"./object-helpers\";\nconst mergeResponses = (response1, response2) => {\n  if (Object.keys(response1).length === 0) {\n    return Object.assign(response1, response2);\n  }\n  const path = findPaginatedResourcePath(response1);\n  const nodesPath = [...path, \"nodes\"];\n  const newNodes = get(response2, nodesPath);\n  if (newNodes) {\n    set(response1, nodesPath, (values) => {\n      return [...values, ...newNodes];\n    });\n  }\n  const edgesPath = [...path, \"edges\"];\n  const newEdges = get(response2, edgesPath);\n  if (newEdges) {\n    set(response1, edgesPath, (values) => {\n      return [...values, ...newEdges];\n    });\n  }\n  const pageInfoPath = [...path, \"pageInfo\"];\n  set(response1, pageInfoPath, get(response2, pageInfoPath));\n  return response1;\n};\nexport {\n  mergeResponses\n};\n","import { Octokit } from \"@octokit/core\";\nimport { mergeResponses } from \"./merge-responses\";\nimport { createIterator } from \"./iterator\";\nconst createPaginate = (octokit) => {\n  const iterator = createIterator(octokit);\n  return async (query, initialParameters = {}) => {\n    let mergedResponse = {};\n    for await (const response of iterator(\n      query,\n      initialParameters\n    )) {\n      mergedResponse = mergeResponses(mergedResponse, response);\n    }\n    return mergedResponse;\n  };\n};\nexport {\n  createPaginate\n};\n","import { Octokit } from \"@octokit/core\";\nimport { createIterator } from \"./iterator\";\nimport { createPaginate } from \"./paginate\";\nfunction paginateGraphql(octokit) {\n  octokit.graphql;\n  return {\n    graphql: Object.assign(octokit.graphql, {\n      paginate: Object.assign(createPaginate(octokit), {\n        iterator: createIterator(octokit)\n      })\n    })\n  };\n}\nexport {\n  paginateGraphql\n};\n","/**\n * Index.js\n *\n * a request API compatible with window.fetch\n *\n * All spec algorithm step numbers are based on https://fetch.spec.whatwg.org/commit-snapshots/ae716822cb3a61843226cd090eefc6589446c1d2/.\n */\n\nimport http from 'node:http';\nimport https from 'node:https';\nimport zlib from 'node:zlib';\nimport Stream, {PassThrough, pipeline as pump} from 'node:stream';\nimport {Buffer} from 'node:buffer';\n\nimport dataUriToBuffer from 'data-uri-to-buffer';\n\nimport {writeToStream, clone} from './body.js';\nimport Response from './response.js';\nimport Headers, {fromRawHeaders} from './headers.js';\nimport Request, {getNodeRequestOptions} from './request.js';\nimport {FetchError} from './errors/fetch-error.js';\nimport {AbortError} from './errors/abort-error.js';\nimport {isRedirect} from './utils/is-redirect.js';\nimport {FormData} from 'formdata-polyfill/esm.min.js';\nimport {isDomainOrSubdomain, isSameProtocol} from './utils/is.js';\nimport {parseReferrerPolicyFromHeader} from './utils/referrer.js';\nimport {\n\tBlob,\n\tFile,\n\tfileFromSync,\n\tfileFrom,\n\tblobFromSync,\n\tblobFrom\n} from 'fetch-blob/from.js';\n\nexport {FormData, Headers, Request, Response, FetchError, AbortError, isRedirect};\nexport {Blob, File, fileFromSync, fileFrom, blobFromSync, blobFrom};\n\nconst supportedSchemas = new Set(['data:', 'http:', 'https:']);\n\n/**\n * Fetch function\n *\n * @param   {string | URL | import('./request').default} url - Absolute url or Request instance\n * @param   {*} [options_] - Fetch options\n * @return  {Promise}\n */\nexport default async function fetch(url, options_) {\n\treturn new Promise((resolve, reject) => {\n\t\t// Build request object\n\t\tconst request = new Request(url, options_);\n\t\tconst {parsedURL, options} = getNodeRequestOptions(request);\n\t\tif (!supportedSchemas.has(parsedURL.protocol)) {\n\t\t\tthrow new TypeError(`node-fetch cannot load ${url}. URL scheme \"${parsedURL.protocol.replace(/:$/, '')}\" is not supported.`);\n\t\t}\n\n\t\tif (parsedURL.protocol === 'data:') {\n\t\t\tconst data = dataUriToBuffer(request.url);\n\t\t\tconst response = new Response(data, {headers: {'Content-Type': data.typeFull}});\n\t\t\tresolve(response);\n\t\t\treturn;\n\t\t}\n\n\t\t// Wrap http.request into fetch\n\t\tconst send = (parsedURL.protocol === 'https:' ? https : http).request;\n\t\tconst {signal} = request;\n\t\tlet response = null;\n\n\t\tconst abort = () => {\n\t\t\tconst error = new AbortError('The operation was aborted.');\n\t\t\treject(error);\n\t\t\tif (request.body && request.body instanceof Stream.Readable) {\n\t\t\t\trequest.body.destroy(error);\n\t\t\t}\n\n\t\t\tif (!response || !response.body) {\n\t\t\t\treturn;\n\t\t\t}\n\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 = () => {\n\t\t\tabort();\n\t\t\tfinalize();\n\t\t};\n\n\t\t// Send request\n\t\tconst request_ = send(parsedURL.toString(), options);\n\n\t\tif (signal) {\n\t\t\tsignal.addEventListener('abort', abortAndFinalize);\n\t\t}\n\n\t\tconst finalize = () => {\n\t\t\trequest_.abort();\n\t\t\tif (signal) {\n\t\t\t\tsignal.removeEventListener('abort', abortAndFinalize);\n\t\t\t}\n\t\t};\n\n\t\trequest_.on('error', error => {\n\t\t\treject(new FetchError(`request to ${request.url} failed, reason: ${error.message}`, 'system', error));\n\t\t\tfinalize();\n\t\t});\n\n\t\tfixResponseChunkedTransferBadEnding(request_, error => {\n\t\t\tif (response && response.body) {\n\t\t\t\tresponse.body.destroy(error);\n\t\t\t}\n\t\t});\n\n\t\t/* c8 ignore next 18 */\n\t\tif (process.version < 'v14') {\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\trequest_.on('socket', s => {\n\t\t\t\tlet endedWithEventsCount;\n\t\t\t\ts.prependListener('end', () => {\n\t\t\t\t\tendedWithEventsCount = s._eventsCount;\n\t\t\t\t});\n\t\t\t\ts.prependListener('close', hadError => {\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 && endedWithEventsCount < s._eventsCount && !hadError) {\n\t\t\t\t\t\tconst error = new Error('Premature close');\n\t\t\t\t\t\terror.code = 'ERR_STREAM_PREMATURE_CLOSE';\n\t\t\t\t\t\tresponse.body.emit('error', error);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\n\t\trequest_.on('response', response_ => {\n\t\t\trequest_.setTimeout(0);\n\t\t\tconst headers = fromRawHeaders(response_.rawHeaders);\n\n\t\t\t// HTTP fetch step 5\n\t\t\tif (isRedirect(response_.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(location, request.url);\n\t\t\t\t} catch {\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// Nothing to do\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 requestOptions = {\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: clone(request),\n\t\t\t\t\t\t\tsignal: request.signal,\n\t\t\t\t\t\t\tsize: request.size,\n\t\t\t\t\t\t\treferrer: request.referrer,\n\t\t\t\t\t\t\treferrerPolicy: request.referrerPolicy\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\t// when forwarding sensitive headers like \"Authorization\",\n\t\t\t\t\t\t// \"WWW-Authenticate\", and \"Cookie\" to untrusted targets,\n\t\t\t\t\t\t// headers will be ignored when following a redirect to a domain\n\t\t\t\t\t\t// that is not a subdomain match or exact match of the initial domain.\n\t\t\t\t\t\t// For example, a redirect from \"foo.com\" to either \"foo.com\" or \"sub.foo.com\"\n\t\t\t\t\t\t// will forward the sensitive headers, but a redirect to \"bar.com\" will not.\n\t\t\t\t\t\t// headers will also be ignored when following a redirect to a domain using\n\t\t\t\t\t\t// a different protocol. For example, a redirect from \"https://foo.com\" to \"http://foo.com\"\n\t\t\t\t\t\t// will not forward the sensitive headers\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\trequestOptions.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 (response_.statusCode !== 303 && request.body && options_.body instanceof Stream.Readable) {\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 (response_.statusCode === 303 || ((response_.statusCode === 301 || response_.statusCode === 302) && request.method === 'POST')) {\n\t\t\t\t\t\t\trequestOptions.method = 'GET';\n\t\t\t\t\t\t\trequestOptions.body = undefined;\n\t\t\t\t\t\t\trequestOptions.headers.delete('content-length');\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 14\n\t\t\t\t\t\tconst responseReferrerPolicy = parseReferrerPolicyFromHeader(headers);\n\t\t\t\t\t\tif (responseReferrerPolicy) {\n\t\t\t\t\t\t\trequestOptions.referrerPolicy = responseReferrerPolicy;\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, requestOptions)));\n\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tdefault:\n\t\t\t\t\t\treturn reject(new TypeError(`Redirect option '${request.redirect}' is not a valid value of RequestRedirect`));\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Prepare response\n\t\t\tif (signal) {\n\t\t\t\tresponse_.once('end', () => {\n\t\t\t\t\tsignal.removeEventListener('abort', abortAndFinalize);\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tlet body = pump(response_, new PassThrough(), error => {\n\t\t\t\tif (error) {\n\t\t\t\t\treject(error);\n\t\t\t\t}\n\t\t\t});\n\t\t\t// see https://github.com/nodejs/node/pull/29376\n\t\t\t/* c8 ignore next 3 */\n\t\t\tif (process.version < 'v12.10') {\n\t\t\t\tresponse_.on('aborted', abortAndFinalize);\n\t\t\t}\n\n\t\t\tconst responseOptions = {\n\t\t\t\turl: request.url,\n\t\t\t\tstatus: response_.statusCode,\n\t\t\t\tstatusText: response_.statusMessage,\n\t\t\t\theaders,\n\t\t\t\tsize: request.size,\n\t\t\t\tcounter: request.counter,\n\t\t\t\thighWaterMark: request.highWaterMark\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 || response_.statusCode === 204 || response_.statusCode === 304) {\n\t\t\t\tresponse = new Response(body, responseOptions);\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 = pump(body, zlib.createGunzip(zlibOptions), error => {\n\t\t\t\t\tif (error) {\n\t\t\t\t\t\treject(error);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tresponse = new Response(body, responseOptions);\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 = pump(response_, new PassThrough(), error => {\n\t\t\t\t\tif (error) {\n\t\t\t\t\t\treject(error);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\traw.once('data', 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 = pump(body, zlib.createInflate(), error => {\n\t\t\t\t\t\t\tif (error) {\n\t\t\t\t\t\t\t\treject(error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbody = pump(body, zlib.createInflateRaw(), error => {\n\t\t\t\t\t\t\tif (error) {\n\t\t\t\t\t\t\t\treject(error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\n\t\t\t\t\tresponse = new Response(body, responseOptions);\n\t\t\t\t\tresolve(response);\n\t\t\t\t});\n\t\t\t\traw.once('end', () => {\n\t\t\t\t\t// Some old IIS servers return zero-length OK deflate responses, so\n\t\t\t\t\t// 'data' is never emitted. See https://github.com/node-fetch/node-fetch/pull/903\n\t\t\t\t\tif (!response) {\n\t\t\t\t\t\tresponse = new Response(body, responseOptions);\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') {\n\t\t\t\tbody = pump(body, zlib.createBrotliDecompress(), error => {\n\t\t\t\t\tif (error) {\n\t\t\t\t\t\treject(error);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tresponse = new Response(body, responseOptions);\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, responseOptions);\n\t\t\tresolve(response);\n\t\t});\n\n\t\t// eslint-disable-next-line promise/prefer-await-to-then\n\t\twriteToStream(request_, request).catch(reject);\n\t});\n}\n\nfunction fixResponseChunkedTransferBadEnding(request, errorCallback) {\n\tconst LAST_CHUNK = Buffer.from('0\\r\\n\\r\\n');\n\n\tlet isChunkedTransfer = false;\n\tlet properLastChunkReceived = false;\n\tlet previousChunk;\n\n\trequest.on('response', response => {\n\t\tconst {headers} = response;\n\t\tisChunkedTransfer = headers['transfer-encoding'] === 'chunked' && !headers['content-length'];\n\t});\n\n\trequest.on('socket', socket => {\n\t\tconst onSocketClose = () => {\n\t\t\tif (isChunkedTransfer && !properLastChunkReceived) {\n\t\t\t\tconst error = new Error('Premature close');\n\t\t\t\terror.code = 'ERR_STREAM_PREMATURE_CLOSE';\n\t\t\t\terrorCallback(error);\n\t\t\t}\n\t\t};\n\n\t\tconst onData = buf => {\n\t\t\tproperLastChunkReceived = Buffer.compare(buf.slice(-5), LAST_CHUNK) === 0;\n\n\t\t\t// Sometimes final 0-length chunk and end of message code are in separate packets\n\t\t\tif (!properLastChunkReceived && previousChunk) {\n\t\t\t\tproperLastChunkReceived = (\n\t\t\t\t\tBuffer.compare(previousChunk.slice(-3), LAST_CHUNK.slice(0, 3)) === 0 &&\n\t\t\t\t\tBuffer.compare(buf.slice(-2), LAST_CHUNK.slice(3)) === 0\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tpreviousChunk = buf;\n\t\t};\n\n\t\tsocket.prependListener('close', onSocketClose);\n\t\tsocket.on('data', onData);\n\n\t\trequest.on('close', () => {\n\t\t\tsocket.removeListener('close', onSocketClose);\n\t\t\tsocket.removeListener('data', onData);\n\t\t});\n\t});\n}\n","export interface MimeBuffer extends Buffer {\n\ttype: string;\n\ttypeFull: string;\n\tcharset: string;\n}\n\n/**\n * Returns a `Buffer` instance from the given data URI `uri`.\n *\n * @param {String} uri Data URI to turn into a Buffer instance\n * @returns {Buffer} Buffer instance from Data URI\n * @api public\n */\nexport function dataUriToBuffer(uri: string): MimeBuffer {\n\tif (!/^data:/i.test(uri)) {\n\t\tthrow new TypeError(\n\t\t\t'`uri` does not appear to be a Data URI (must begin with \"data:\")'\n\t\t);\n\t}\n\n\t// strip newlines\n\turi = uri.replace(/\\r?\\n/g, '');\n\n\t// split the URI up into the \"metadata\" and the \"data\" portions\n\tconst firstComma = uri.indexOf(',');\n\tif (firstComma === -1 || firstComma <= 4) {\n\t\tthrow new TypeError('malformed data: URI');\n\t}\n\n\t// remove the \"data:\" scheme and parse the metadata\n\tconst meta = uri.substring(5, firstComma).split(';');\n\n\tlet charset = '';\n\tlet base64 = false;\n\tconst type = meta[0] || 'text/plain';\n\tlet typeFull = type;\n\tfor (let i = 1; i < meta.length; i++) {\n\t\tif (meta[i] === 'base64') {\n\t\t\tbase64 = true;\n\t\t} else if(meta[i]) {\n\t\t\ttypeFull += `;${  meta[i]}`;\n\t\t\tif (meta[i].indexOf('charset=') === 0) {\n\t\t\t\tcharset = meta[i].substring(8);\n\t\t\t}\n\t\t}\n\t}\n\t// defaults to US-ASCII only if type is not provided\n\tif (!meta[0] && !charset.length) {\n\t\ttypeFull += ';charset=US-ASCII';\n\t\tcharset = 'US-ASCII';\n\t}\n\n\t// get the encoded data portion and decode URI-encoded chars\n\tconst encoding = base64 ? 'base64' : 'ascii';\n\tconst data = unescape(uri.substring(firstComma + 1));\n\tconst buffer = Buffer.from(data, encoding) as MimeBuffer;\n\n\t// set `.type` and `.typeFull` properties to MIME type\n\tbuffer.type = type;\n\tbuffer.typeFull = typeFull;\n\n\t// set the `.charset` property\n\tbuffer.charset = charset;\n\n\treturn buffer;\n}\n\nexport default dataUriToBuffer;\n","\n/**\n * Body.js\n *\n * Body interface provides common methods for Request and Response\n */\n\nimport Stream, {PassThrough} from 'node:stream';\nimport {types, deprecate, promisify} from 'node:util';\nimport {Buffer} from 'node:buffer';\n\nimport Blob from 'fetch-blob';\nimport {FormData, formDataToBlob} from 'formdata-polyfill/esm.min.js';\n\nimport {FetchError} from './errors/fetch-error.js';\nimport {FetchBaseError} from './errors/base.js';\nimport {isBlob, isURLSearchParameters} from './utils/is.js';\n\nconst pipeline = promisify(Stream.pipeline);\nconst INTERNALS = Symbol('Body internals');\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 */\nexport default class Body {\n\tconstructor(body, {\n\t\tsize = 0\n\t} = {}) {\n\t\tlet boundary = null;\n\n\t\tif (body === null) {\n\t\t\t// Body is undefined or null\n\t\t\tbody = null;\n\t\t} else if (isURLSearchParameters(body)) {\n\t\t\t// Body is a URLSearchParams\n\t\t\tbody = Buffer.from(body.toString());\n\t\t} else if (isBlob(body)) {\n\t\t\t// Body is blob\n\t\t} else if (Buffer.isBuffer(body)) {\n\t\t\t// Body is Buffer\n\t\t} else if (types.isAnyArrayBuffer(body)) {\n\t\t\t// Body is ArrayBuffer\n\t\t\tbody = Buffer.from(body);\n\t\t} else if (ArrayBuffer.isView(body)) {\n\t\t\t// Body is ArrayBufferView\n\t\t\tbody = Buffer.from(body.buffer, body.byteOffset, body.byteLength);\n\t\t} else if (body instanceof Stream) {\n\t\t\t// Body is stream\n\t\t} else if (body instanceof FormData) {\n\t\t\t// Body is FormData\n\t\t\tbody = formDataToBlob(body);\n\t\t\tboundary = body.type.split('=')[1];\n\t\t} else {\n\t\t\t// None of the above\n\t\t\t// coerce to string then buffer\n\t\t\tbody = Buffer.from(String(body));\n\t\t}\n\n\t\tlet stream = body;\n\n\t\tif (Buffer.isBuffer(body)) {\n\t\t\tstream = Stream.Readable.from(body);\n\t\t} else if (isBlob(body)) {\n\t\t\tstream = Stream.Readable.from(body.stream());\n\t\t}\n\n\t\tthis[INTERNALS] = {\n\t\t\tbody,\n\t\t\tstream,\n\t\t\tboundary,\n\t\t\tdisturbed: false,\n\t\t\terror: null\n\t\t};\n\t\tthis.size = size;\n\n\t\tif (body instanceof Stream) {\n\t\t\tbody.on('error', error_ => {\n\t\t\t\tconst error = error_ instanceof FetchBaseError ?\n\t\t\t\t\terror_ :\n\t\t\t\t\tnew FetchError(`Invalid response body while trying to fetch ${this.url}: ${error_.message}`, 'system', error_);\n\t\t\t\tthis[INTERNALS].error = error;\n\t\t\t});\n\t\t}\n\t}\n\n\tget body() {\n\t\treturn this[INTERNALS].stream;\n\t}\n\n\tget bodyUsed() {\n\t\treturn this[INTERNALS].disturbed;\n\t}\n\n\t/**\n\t * Decode response as ArrayBuffer\n\t *\n\t * @return  Promise\n\t */\n\tasync arrayBuffer() {\n\t\tconst {buffer, byteOffset, byteLength} = await consumeBody(this);\n\t\treturn buffer.slice(byteOffset, byteOffset + byteLength);\n\t}\n\n\tasync formData() {\n\t\tconst ct = this.headers.get('content-type');\n\n\t\tif (ct.startsWith('application/x-www-form-urlencoded')) {\n\t\t\tconst formData = new FormData();\n\t\t\tconst parameters = new URLSearchParams(await this.text());\n\n\t\t\tfor (const [name, value] of parameters) {\n\t\t\t\tformData.append(name, value);\n\t\t\t}\n\n\t\t\treturn formData;\n\t\t}\n\n\t\tconst {toFormData} = await import('./utils/multipart-parser.js');\n\t\treturn toFormData(this.body, ct);\n\t}\n\n\t/**\n\t * Return raw response as Blob\n\t *\n\t * @return Promise\n\t */\n\tasync blob() {\n\t\tconst ct = (this.headers && this.headers.get('content-type')) || (this[INTERNALS].body && this[INTERNALS].body.type) || '';\n\t\tconst buf = await this.arrayBuffer();\n\n\t\treturn new Blob([buf], {\n\t\t\ttype: ct\n\t\t});\n\t}\n\n\t/**\n\t * Decode response as json\n\t *\n\t * @return  Promise\n\t */\n\tasync json() {\n\t\tconst text = await this.text();\n\t\treturn JSON.parse(text);\n\t}\n\n\t/**\n\t * Decode response as text\n\t *\n\t * @return  Promise\n\t */\n\tasync text() {\n\t\tconst buffer = await consumeBody(this);\n\t\treturn new TextDecoder().decode(buffer);\n\t}\n\n\t/**\n\t * Decode response as buffer (non-spec api)\n\t *\n\t * @return  Promise\n\t */\n\tbuffer() {\n\t\treturn consumeBody(this);\n\t}\n}\n\nBody.prototype.buffer = deprecate(Body.prototype.buffer, 'Please use \\'response.arrayBuffer()\\' instead of \\'response.buffer()\\'', 'node-fetch#buffer');\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\tdata: {get: deprecate(() => {},\n\t\t'data doesn\\'t exist, use json(), text(), arrayBuffer(), or body instead',\n\t\t'https://github.com/node-fetch/node-fetch/issues/1000 (response)')}\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 */\nasync function consumeBody(data) {\n\tif (data[INTERNALS].disturbed) {\n\t\tthrow new TypeError(`body used already for: ${data.url}`);\n\t}\n\n\tdata[INTERNALS].disturbed = true;\n\n\tif (data[INTERNALS].error) {\n\t\tthrow data[INTERNALS].error;\n\t}\n\n\tconst {body} = data;\n\n\t// Body is null\n\tif (body === null) {\n\t\treturn Buffer.alloc(0);\n\t}\n\n\t/* c8 ignore next 3 */\n\tif (!(body instanceof Stream)) {\n\t\treturn Buffer.alloc(0);\n\t}\n\n\t// Body is stream\n\t// get ready to actually consume the body\n\tconst accum = [];\n\tlet accumBytes = 0;\n\n\ttry {\n\t\tfor await (const chunk of body) {\n\t\t\tif (data.size > 0 && accumBytes + chunk.length > data.size) {\n\t\t\t\tconst error = new FetchError(`content size at ${data.url} over limit: ${data.size}`, 'max-size');\n\t\t\t\tbody.destroy(error);\n\t\t\t\tthrow error;\n\t\t\t}\n\n\t\t\taccumBytes += chunk.length;\n\t\t\taccum.push(chunk);\n\t\t}\n\t} catch (error) {\n\t\tconst error_ = error instanceof FetchBaseError ? error : new FetchError(`Invalid response body while trying to fetch ${data.url}: ${error.message}`, 'system', error);\n\t\tthrow error_;\n\t}\n\n\tif (body.readableEnded === true || body._readableState.ended === true) {\n\t\ttry {\n\t\t\tif (accum.every(c => typeof c === 'string')) {\n\t\t\t\treturn Buffer.from(accum.join(''));\n\t\t\t}\n\n\t\t\treturn Buffer.concat(accum, accumBytes);\n\t\t} catch (error) {\n\t\t\tthrow new FetchError(`Could not create Buffer from response body for ${data.url}: ${error.message}`, 'system', error);\n\t\t}\n\t} else {\n\t\tthrow new FetchError(`Premature close of server response while trying to fetch ${data.url}`);\n\t}\n}\n\n/**\n * Clone body given Res/Req instance\n *\n * @param   Mixed   instance       Response or Request instance\n * @param   String  highWaterMark  highWaterMark for both PassThrough body streams\n * @return  Mixed\n */\nexport const clone = (instance, highWaterMark) => {\n\tlet p1;\n\tlet p2;\n\tlet {body} = instance[INTERNALS];\n\n\t// Don't allow cloning a used body\n\tif (instance.bodyUsed) {\n\t\tthrow new Error('cannot clone body after it is used');\n\t}\n\n\t// Check that body is a stream and not form-data object\n\t// note: we can't clone the form-data object without having it as a dependency\n\tif ((body instanceof Stream) && (typeof body.getBoundary !== 'function')) {\n\t\t// Tee instance body\n\t\tp1 = new PassThrough({highWaterMark});\n\t\tp2 = new PassThrough({highWaterMark});\n\t\tbody.pipe(p1);\n\t\tbody.pipe(p2);\n\t\t// Set instance body to teed body and return the other teed body\n\t\tinstance[INTERNALS].stream = p1;\n\t\tbody = p2;\n\t}\n\n\treturn body;\n};\n\nconst getNonSpecFormDataBoundary = deprecate(\n\tbody => body.getBoundary(),\n\t'form-data doesn\\'t follow the spec and requires special treatment. Use alternative package',\n\t'https://github.com/node-fetch/node-fetch/issues/1167'\n);\n\n/**\n * Performs the operation \"extract a `Content-Type` value from |object|\" as\n * specified in the specification:\n * https://fetch.spec.whatwg.org/#concept-bodyinit-extract\n *\n * This function assumes that instance.body is present.\n *\n * @param {any} body Any options.body input\n * @returns {string | null}\n */\nexport const extractContentType = (body, request) => {\n\t// Body is null or undefined\n\tif (body === null) {\n\t\treturn null;\n\t}\n\n\t// Body is string\n\tif (typeof body === 'string') {\n\t\treturn 'text/plain;charset=UTF-8';\n\t}\n\n\t// Body is a URLSearchParams\n\tif (isURLSearchParameters(body)) {\n\t\treturn 'application/x-www-form-urlencoded;charset=UTF-8';\n\t}\n\n\t// Body is blob\n\tif (isBlob(body)) {\n\t\treturn body.type || null;\n\t}\n\n\t// Body is a Buffer (Buffer, ArrayBuffer or ArrayBufferView)\n\tif (Buffer.isBuffer(body) || types.isAnyArrayBuffer(body) || ArrayBuffer.isView(body)) {\n\t\treturn null;\n\t}\n\n\tif (body instanceof FormData) {\n\t\treturn `multipart/form-data; boundary=${request[INTERNALS].boundary}`;\n\t}\n\n\t// Detect form data input from form-data module\n\tif (body && typeof body.getBoundary === 'function') {\n\t\treturn `multipart/form-data;boundary=${getNonSpecFormDataBoundary(body)}`;\n\t}\n\n\t// Body is stream - can't really do much about this\n\tif (body instanceof Stream) {\n\t\treturn null;\n\t}\n\n\t// Body constructor defaults other things to string\n\treturn 'text/plain;charset=UTF-8';\n};\n\n/**\n * The Fetch Standard treats this as if \"total bytes\" is a property on the body.\n * For us, we have to explicitly get it with a function.\n *\n * ref: https://fetch.spec.whatwg.org/#concept-body-total-bytes\n *\n * @param {any} obj.body Body object from the Body instance.\n * @returns {number | null}\n */\nexport const getTotalBytes = request => {\n\tconst {body} = request[INTERNALS];\n\n\t// Body is null or undefined\n\tif (body === null) {\n\t\treturn 0;\n\t}\n\n\t// Body is Blob\n\tif (isBlob(body)) {\n\t\treturn body.size;\n\t}\n\n\t// Body is Buffer\n\tif (Buffer.isBuffer(body)) {\n\t\treturn body.length;\n\t}\n\n\t// Detect form data input from form-data module\n\tif (body && typeof body.getLengthSync === 'function') {\n\t\treturn body.hasKnownLength && body.hasKnownLength() ? body.getLengthSync() : null;\n\t}\n\n\t// Body is stream\n\treturn null;\n};\n\n/**\n * Write a Body to a Node.js WritableStream (e.g. http.Request) object.\n *\n * @param {Stream.Writable} dest The stream to write to.\n * @param obj.body Body object from the Body instance.\n * @returns {Promise}\n */\nexport const writeToStream = async (dest, {body}) => {\n\tif (body === null) {\n\t\t// Body is null\n\t\tdest.end();\n\t} else {\n\t\t// Body is stream\n\t\tawait pipeline(body, dest);\n\t}\n};\n","export class FetchBaseError extends Error {\n\tconstructor(message, type) {\n\t\tsuper(message);\n\t\t// Hide custom error implementation details from end-users\n\t\tError.captureStackTrace(this, this.constructor);\n\n\t\tthis.type = type;\n\t}\n\n\tget name() {\n\t\treturn this.constructor.name;\n\t}\n\n\tget [Symbol.toStringTag]() {\n\t\treturn this.constructor.name;\n\t}\n}\n","\nimport {FetchBaseError} from './base.js';\n\n/**\n * @typedef {{ address?: string, code: string, dest?: string, errno: number, info?: object, message: string, path?: string, port?: number, syscall: string}} SystemError\n*/\n\n/**\n * FetchError interface for operational errors\n */\nexport class FetchError extends FetchBaseError {\n\t/**\n\t * @param  {string} message -      Error message for human\n\t * @param  {string} [type] -        Error type for machine\n\t * @param  {SystemError} [systemError] - For Node.js system error\n\t */\n\tconstructor(message, type, systemError) {\n\t\tsuper(message, type);\n\t\t// When err.type is `system`, err.erroredSysCall contains system error and err.code contains system error code\n\t\tif (systemError) {\n\t\t\t// eslint-disable-next-line no-multi-assign\n\t\t\tthis.code = this.errno = systemError.code;\n\t\t\tthis.erroredSysCall = systemError.syscall;\n\t\t}\n\t}\n}\n","/**\n * Is.js\n *\n * Object type checks.\n */\n\nconst NAME = Symbol.toStringTag;\n\n/**\n * Check if `obj` is a URLSearchParams object\n * ref: https://github.com/node-fetch/node-fetch/issues/296#issuecomment-307598143\n * @param {*} object - Object to check for\n * @return {boolean}\n */\nexport const isURLSearchParameters = object => {\n\treturn (\n\t\ttypeof object === 'object' &&\n\t\ttypeof object.append === 'function' &&\n\t\ttypeof object.delete === 'function' &&\n\t\ttypeof object.get === 'function' &&\n\t\ttypeof object.getAll === 'function' &&\n\t\ttypeof object.has === 'function' &&\n\t\ttypeof object.set === 'function' &&\n\t\ttypeof object.sort === 'function' &&\n\t\tobject[NAME] === 'URLSearchParams'\n\t);\n};\n\n/**\n * Check if `object` is a W3C `Blob` object (which `File` inherits from)\n * @param {*} object - Object to check for\n * @return {boolean}\n */\nexport const isBlob = object => {\n\treturn (\n\t\tobject &&\n\t\ttypeof object === 'object' &&\n\t\ttypeof object.arrayBuffer === 'function' &&\n\t\ttypeof object.type === 'string' &&\n\t\ttypeof object.stream === 'function' &&\n\t\ttypeof object.constructor === 'function' &&\n\t\t/^(Blob|File)$/.test(object[NAME])\n\t);\n};\n\n/**\n * Check if `obj` is an instance of AbortSignal.\n * @param {*} object - Object to check for\n * @return {boolean}\n */\nexport const isAbortSignal = object => {\n\treturn (\n\t\ttypeof object === 'object' && (\n\t\t\tobject[NAME] === 'AbortSignal' ||\n\t\t\tobject[NAME] === 'EventTarget'\n\t\t)\n\t);\n};\n\n/**\n * isDomainOrSubdomain reports whether sub is a subdomain (or exact match) of\n * the parent domain.\n *\n * Both domains must already be in canonical form.\n * @param {string|URL} original\n * @param {string|URL} destination\n */\nexport const isDomainOrSubdomain = (destination, original) => {\n\tconst orig = new URL(original).hostname;\n\tconst dest = new URL(destination).hostname;\n\n\treturn orig === dest || 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 */\nexport const isSameProtocol = (destination, original) => {\n\tconst orig = new URL(original).protocol;\n\tconst dest = new URL(destination).protocol;\n\n\treturn orig === dest;\n};\n","/**\n * Headers.js\n *\n * Headers class offers convenient helpers\n */\n\nimport {types} from 'node:util';\nimport http from 'node:http';\n\n/* c8 ignore next 9 */\nconst validateHeaderName = typeof http.validateHeaderName === 'function' ?\n\thttp.validateHeaderName :\n\tname => {\n\t\tif (!/^[\\^`\\-\\w!#$%&'*+.|~]+$/.test(name)) {\n\t\t\tconst error = new TypeError(`Header name must be a valid HTTP token [${name}]`);\n\t\t\tObject.defineProperty(error, 'code', {value: 'ERR_INVALID_HTTP_TOKEN'});\n\t\t\tthrow error;\n\t\t}\n\t};\n\n/* c8 ignore next 9 */\nconst validateHeaderValue = typeof http.validateHeaderValue === 'function' ?\n\thttp.validateHeaderValue :\n\t(name, value) => {\n\t\tif (/[^\\t\\u0020-\\u007E\\u0080-\\u00FF]/.test(value)) {\n\t\t\tconst error = new TypeError(`Invalid character in header content [\"${name}\"]`);\n\t\t\tObject.defineProperty(error, 'code', {value: 'ERR_INVALID_CHAR'});\n\t\t\tthrow error;\n\t\t}\n\t};\n\n/**\n * @typedef {Headers | Record | Iterable | Iterable>} HeadersInit\n */\n\n/**\n * This Fetch API interface allows you to perform various actions on HTTP request and response headers.\n * These actions include retrieving, setting, adding to, and removing.\n * A Headers object has an associated header list, which is initially empty and consists of zero or more name and value pairs.\n * You can add to this using methods like append() (see Examples.)\n * In all methods of this interface, header names are matched by case-insensitive byte sequence.\n *\n */\nexport default class Headers extends URLSearchParams {\n\t/**\n\t * Headers class\n\t *\n\t * @constructor\n\t * @param {HeadersInit} [init] - Response headers\n\t */\n\tconstructor(init) {\n\t\t// Validate and normalize init object in [name, value(s)][]\n\t\t/** @type {string[][]} */\n\t\tlet result = [];\n\t\tif (init instanceof Headers) {\n\t\t\tconst raw = init.raw();\n\t\t\tfor (const [name, values] of Object.entries(raw)) {\n\t\t\t\tresult.push(...values.map(value => [name, value]));\n\t\t\t}\n\t\t} else if (init == null) { // eslint-disable-line no-eq-null, eqeqeq\n\t\t\t// No op\n\t\t} else if (typeof init === 'object' && !types.isBoxedPrimitive(init)) {\n\t\t\tconst method = init[Symbol.iterator];\n\t\t\t// eslint-disable-next-line no-eq-null, eqeqeq\n\t\t\tif (method == null) {\n\t\t\t\t// Record\n\t\t\t\tresult.push(...Object.entries(init));\n\t\t\t} else {\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\tresult = [...init]\n\t\t\t\t\t.map(pair => {\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\ttypeof pair !== 'object' || types.isBoxedPrimitive(pair)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tthrow new TypeError('Each header pair must be an iterable object');\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn [...pair];\n\t\t\t\t\t}).map(pair => {\n\t\t\t\t\t\tif (pair.length !== 2) {\n\t\t\t\t\t\t\tthrow new TypeError('Each header pair must be a name/value tuple');\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn [...pair];\n\t\t\t\t\t});\n\t\t\t}\n\t\t} else {\n\t\t\tthrow new TypeError('Failed to construct \\'Headers\\': The provided value is not of type \\'(sequence> or record)');\n\t\t}\n\n\t\t// Validate and lowercase\n\t\tresult =\n\t\t\tresult.length > 0 ?\n\t\t\t\tresult.map(([name, value]) => {\n\t\t\t\t\tvalidateHeaderName(name);\n\t\t\t\t\tvalidateHeaderValue(name, String(value));\n\t\t\t\t\treturn [String(name).toLowerCase(), String(value)];\n\t\t\t\t}) :\n\t\t\t\tundefined;\n\n\t\tsuper(result);\n\n\t\t// Returning a Proxy that will lowercase key names, validate parameters and sort keys\n\t\t// eslint-disable-next-line no-constructor-return\n\t\treturn new Proxy(this, {\n\t\t\tget(target, p, receiver) {\n\t\t\t\tswitch (p) {\n\t\t\t\t\tcase 'append':\n\t\t\t\t\tcase 'set':\n\t\t\t\t\t\treturn (name, value) => {\n\t\t\t\t\t\t\tvalidateHeaderName(name);\n\t\t\t\t\t\t\tvalidateHeaderValue(name, String(value));\n\t\t\t\t\t\t\treturn URLSearchParams.prototype[p].call(\n\t\t\t\t\t\t\t\ttarget,\n\t\t\t\t\t\t\t\tString(name).toLowerCase(),\n\t\t\t\t\t\t\t\tString(value)\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t};\n\n\t\t\t\t\tcase 'delete':\n\t\t\t\t\tcase 'has':\n\t\t\t\t\tcase 'getAll':\n\t\t\t\t\t\treturn name => {\n\t\t\t\t\t\t\tvalidateHeaderName(name);\n\t\t\t\t\t\t\treturn URLSearchParams.prototype[p].call(\n\t\t\t\t\t\t\t\ttarget,\n\t\t\t\t\t\t\t\tString(name).toLowerCase()\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t};\n\n\t\t\t\t\tcase 'keys':\n\t\t\t\t\t\treturn () => {\n\t\t\t\t\t\t\ttarget.sort();\n\t\t\t\t\t\t\treturn new Set(URLSearchParams.prototype.keys.call(target)).keys();\n\t\t\t\t\t\t};\n\n\t\t\t\t\tdefault:\n\t\t\t\t\t\treturn Reflect.get(target, p, receiver);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\t/* c8 ignore next */\n\t}\n\n\tget [Symbol.toStringTag]() {\n\t\treturn this.constructor.name;\n\t}\n\n\ttoString() {\n\t\treturn Object.prototype.toString.call(this);\n\t}\n\n\tget(name) {\n\t\tconst values = this.getAll(name);\n\t\tif (values.length === 0) {\n\t\t\treturn null;\n\t\t}\n\n\t\tlet value = values.join(', ');\n\t\tif (/^content-encoding$/i.test(name)) {\n\t\t\tvalue = value.toLowerCase();\n\t\t}\n\n\t\treturn value;\n\t}\n\n\tforEach(callback, thisArg = undefined) {\n\t\tfor (const name of this.keys()) {\n\t\t\tReflect.apply(callback, thisArg, [this.get(name), name, this]);\n\t\t}\n\t}\n\n\t* values() {\n\t\tfor (const name of this.keys()) {\n\t\t\tyield this.get(name);\n\t\t}\n\t}\n\n\t/**\n\t * @type {() => IterableIterator<[string, string]>}\n\t */\n\t* entries() {\n\t\tfor (const name of this.keys()) {\n\t\t\tyield [name, this.get(name)];\n\t\t}\n\t}\n\n\t[Symbol.iterator]() {\n\t\treturn this.entries();\n\t}\n\n\t/**\n\t * Node-fetch non-spec method\n\t * returning all headers and their values as array\n\t * @returns {Record}\n\t */\n\traw() {\n\t\treturn [...this.keys()].reduce((result, key) => {\n\t\t\tresult[key] = this.getAll(key);\n\t\t\treturn result;\n\t\t}, {});\n\t}\n\n\t/**\n\t * For better console.log(headers) and also to convert Headers into Node.js Request compatible format\n\t */\n\t[Symbol.for('nodejs.util.inspect.custom')]() {\n\t\treturn [...this.keys()].reduce((result, key) => {\n\t\t\tconst values = this.getAll(key);\n\t\t\t// Http.request() only supports string as Host header.\n\t\t\t// This hack makes specifying custom Host header possible.\n\t\t\tif (key === 'host') {\n\t\t\t\tresult[key] = values[0];\n\t\t\t} else {\n\t\t\t\tresult[key] = values.length > 1 ? values : values[0];\n\t\t\t}\n\n\t\t\treturn result;\n\t\t}, {});\n\t}\n}\n\n/**\n * Re-shaping object for Web IDL tests\n * Only need to do it for overridden methods\n */\nObject.defineProperties(\n\tHeaders.prototype,\n\t['get', 'entries', 'forEach', 'values'].reduce((result, property) => {\n\t\tresult[property] = {enumerable: true};\n\t\treturn result;\n\t}, {})\n);\n\n/**\n * Create a Headers object from an http.IncomingMessage.rawHeaders, ignoring those that do\n * not conform to HTTP grammar productions.\n * @param {import('http').IncomingMessage['rawHeaders']} headers\n */\nexport function fromRawHeaders(headers = []) {\n\treturn new Headers(\n\t\theaders\n\t\t\t// Split into pairs\n\t\t\t.reduce((result, value, index, array) => {\n\t\t\t\tif (index % 2 === 0) {\n\t\t\t\t\tresult.push(array.slice(index, index + 2));\n\t\t\t\t}\n\n\t\t\t\treturn result;\n\t\t\t}, [])\n\t\t\t.filter(([name, value]) => {\n\t\t\t\ttry {\n\t\t\t\t\tvalidateHeaderName(name);\n\t\t\t\t\tvalidateHeaderValue(name, String(value));\n\t\t\t\t\treturn true;\n\t\t\t\t} catch {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t})\n\n\t);\n}\n","const redirectStatus = new Set([301, 302, 303, 307, 308]);\n\n/**\n * Redirect code matching\n *\n * @param {number} code - Status code\n * @return {boolean}\n */\nexport const isRedirect = code => {\n\treturn redirectStatus.has(code);\n};\n","/**\n * Response.js\n *\n * Response class provides content decoding\n */\n\nimport Headers from './headers.js';\nimport Body, {clone, extractContentType} from './body.js';\nimport {isRedirect} from './utils/is-redirect.js';\n\nconst INTERNALS = Symbol('Response internals');\n\n/**\n * Response class\n *\n * Ref: https://fetch.spec.whatwg.org/#response-class\n *\n * @param   Stream  body  Readable stream\n * @param   Object  opts  Response options\n * @return  Void\n */\nexport default class Response extends Body {\n\tconstructor(body = null, options = {}) {\n\t\tsuper(body, options);\n\n\t\t// eslint-disable-next-line no-eq-null, eqeqeq, no-negated-condition\n\t\tconst status = options.status != null ? options.status : 200;\n\n\t\tconst headers = new Headers(options.headers);\n\n\t\tif (body !== null && !headers.has('Content-Type')) {\n\t\t\tconst contentType = extractContentType(body, this);\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] = {\n\t\t\ttype: 'default',\n\t\t\turl: options.url,\n\t\t\tstatus,\n\t\t\tstatusText: options.statusText || '',\n\t\t\theaders,\n\t\t\tcounter: options.counter,\n\t\t\thighWaterMark: options.highWaterMark\n\t\t};\n\t}\n\n\tget type() {\n\t\treturn this[INTERNALS].type;\n\t}\n\n\tget url() {\n\t\treturn this[INTERNALS].url || '';\n\t}\n\n\tget status() {\n\t\treturn this[INTERNALS].status;\n\t}\n\n\t/**\n\t * Convenience property representing if the request ended normally\n\t */\n\tget ok() {\n\t\treturn this[INTERNALS].status >= 200 && this[INTERNALS].status < 300;\n\t}\n\n\tget redirected() {\n\t\treturn this[INTERNALS].counter > 0;\n\t}\n\n\tget statusText() {\n\t\treturn this[INTERNALS].statusText;\n\t}\n\n\tget headers() {\n\t\treturn this[INTERNALS].headers;\n\t}\n\n\tget highWaterMark() {\n\t\treturn this[INTERNALS].highWaterMark;\n\t}\n\n\t/**\n\t * Clone this response\n\t *\n\t * @return  Response\n\t */\n\tclone() {\n\t\treturn new Response(clone(this, this.highWaterMark), {\n\t\t\ttype: this.type,\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\tsize: this.size,\n\t\t\thighWaterMark: this.highWaterMark\n\t\t});\n\t}\n\n\t/**\n\t * @param {string} url    The URL that the new response is to originate from.\n\t * @param {number} status An optional status code for the response (e.g., 302.)\n\t * @returns {Response}    A Response object.\n\t */\n\tstatic redirect(url, status = 302) {\n\t\tif (!isRedirect(status)) {\n\t\t\tthrow new RangeError('Failed to execute \"redirect\" on \"response\": Invalid status code');\n\t\t}\n\n\t\treturn new Response(null, {\n\t\t\theaders: {\n\t\t\t\tlocation: new URL(url).toString()\n\t\t\t},\n\t\t\tstatus\n\t\t});\n\t}\n\n\tstatic error() {\n\t\tconst response = new Response(null, {status: 0, statusText: ''});\n\t\tresponse[INTERNALS].type = 'error';\n\t\treturn response;\n\t}\n\n\tstatic json(data = undefined, init = {}) {\n\t\tconst body = JSON.stringify(data);\n\n\t\tif (body === undefined) {\n\t\t\tthrow new TypeError('data is not JSON serializable');\n\t\t}\n\n\t\tconst headers = new Headers(init && init.headers);\n\n\t\tif (!headers.has('content-type')) {\n\t\t\theaders.set('content-type', 'application/json');\n\t\t}\n\n\t\treturn new Response(body, {\n\t\t\t...init,\n\t\t\theaders\n\t\t});\n\t}\n\n\tget [Symbol.toStringTag]() {\n\t\treturn 'Response';\n\t}\n}\n\nObject.defineProperties(Response.prototype, {\n\ttype: {enumerable: true},\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","/**\n * Request.js\n *\n * Request class contains server only options\n *\n * All spec algorithm step numbers are based on https://fetch.spec.whatwg.org/commit-snapshots/ae716822cb3a61843226cd090eefc6589446c1d2/.\n */\n\nimport {format as formatUrl} from 'node:url';\nimport {deprecate} from 'node:util';\nimport Headers from './headers.js';\nimport Body, {clone, extractContentType, getTotalBytes} from './body.js';\nimport {isAbortSignal} from './utils/is.js';\nimport {getSearch} from './utils/get-search.js';\nimport {\n\tvalidateReferrerPolicy, determineRequestsReferrer, DEFAULT_REFERRER_POLICY\n} from './utils/referrer.js';\n\nconst INTERNALS = Symbol('Request internals');\n\n/**\n * Check if `obj` is an instance of Request.\n *\n * @param  {*} object\n * @return {boolean}\n */\nconst isRequest = object => {\n\treturn (\n\t\ttypeof object === 'object' &&\n\t\ttypeof object[INTERNALS] === 'object'\n\t);\n};\n\nconst doBadDataWarn = deprecate(() => {},\n\t'.data is not a valid RequestInit property, use .body instead',\n\t'https://github.com/node-fetch/node-fetch/issues/1000 (request)');\n\n/**\n * Request class\n *\n * Ref: https://fetch.spec.whatwg.org/#request-class\n *\n * @param   Mixed   input  Url or Request instance\n * @param   Object  init   Custom options\n * @return  Void\n */\nexport default class Request extends Body {\n\tconstructor(input, init = {}) {\n\t\tlet parsedURL;\n\n\t\t// Normalize input and force URL to be encoded as UTF-8 (https://github.com/node-fetch/node-fetch/issues/245)\n\t\tif (isRequest(input)) {\n\t\t\tparsedURL = new URL(input.url);\n\t\t} else {\n\t\t\tparsedURL = new URL(input);\n\t\t\tinput = {};\n\t\t}\n\n\t\tif (parsedURL.username !== '' || parsedURL.password !== '') {\n\t\t\tthrow new TypeError(`${parsedURL} is an url with embedded credentials.`);\n\t\t}\n\n\t\tlet method = init.method || input.method || 'GET';\n\t\tif (/^(delete|get|head|options|post|put)$/i.test(method)) {\n\t\t\tmethod = method.toUpperCase();\n\t\t}\n\n\t\tif (!isRequest(init) && 'data' in init) {\n\t\t\tdoBadDataWarn();\n\t\t}\n\n\t\t// eslint-disable-next-line no-eq-null, eqeqeq\n\t\tif ((init.body != null || (isRequest(input) && input.body !== null)) &&\n\t\t\t(method === 'GET' || method === 'HEAD')) {\n\t\t\tthrow new TypeError('Request with GET/HEAD method cannot have body');\n\t\t}\n\n\t\tconst inputBody = init.body ?\n\t\t\tinit.body :\n\t\t\t(isRequest(input) && input.body !== null ?\n\t\t\t\tclone(input) :\n\t\t\t\tnull);\n\n\t\tsuper(inputBody, {\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, this);\n\t\t\tif (contentType) {\n\t\t\t\theaders.set('Content-Type', contentType);\n\t\t\t}\n\t\t}\n\n\t\tlet signal = isRequest(input) ?\n\t\t\tinput.signal :\n\t\t\tnull;\n\t\tif ('signal' in init) {\n\t\t\tsignal = init.signal;\n\t\t}\n\n\t\t// eslint-disable-next-line no-eq-null, eqeqeq\n\t\tif (signal != null && !isAbortSignal(signal)) {\n\t\t\tthrow new TypeError('Expected signal to be an instanceof AbortSignal or EventTarget');\n\t\t}\n\n\t\t// §5.4, Request constructor steps, step 15.1\n\t\t// eslint-disable-next-line no-eq-null, eqeqeq\n\t\tlet referrer = init.referrer == null ? input.referrer : init.referrer;\n\t\tif (referrer === '') {\n\t\t\t// §5.4, Request constructor steps, step 15.2\n\t\t\treferrer = 'no-referrer';\n\t\t} else if (referrer) {\n\t\t\t// §5.4, Request constructor steps, step 15.3.1, 15.3.2\n\t\t\tconst parsedReferrer = new URL(referrer);\n\t\t\t// §5.4, Request constructor steps, step 15.3.3, 15.3.4\n\t\t\treferrer = /^about:(\\/\\/)?client$/.test(parsedReferrer) ? 'client' : parsedReferrer;\n\t\t} else {\n\t\t\treferrer = undefined;\n\t\t}\n\n\t\tthis[INTERNALS] = {\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\treferrer\n\t\t};\n\n\t\t// Node-fetch-only options\n\t\tthis.follow = init.follow === undefined ? (input.follow === undefined ? 20 : input.follow) : init.follow;\n\t\tthis.compress = init.compress === undefined ? (input.compress === undefined ? true : input.compress) : init.compress;\n\t\tthis.counter = init.counter || input.counter || 0;\n\t\tthis.agent = init.agent || input.agent;\n\t\tthis.highWaterMark = init.highWaterMark || input.highWaterMark || 16384;\n\t\tthis.insecureHTTPParser = init.insecureHTTPParser || input.insecureHTTPParser || false;\n\n\t\t// §5.4, Request constructor steps, step 16.\n\t\t// Default is empty string per https://fetch.spec.whatwg.org/#concept-request-referrer-policy\n\t\tthis.referrerPolicy = init.referrerPolicy || input.referrerPolicy || '';\n\t}\n\n\t/** @returns {string} */\n\tget method() {\n\t\treturn this[INTERNALS].method;\n\t}\n\n\t/** @returns {string} */\n\tget url() {\n\t\treturn formatUrl(this[INTERNALS].parsedURL);\n\t}\n\n\t/** @returns {Headers} */\n\tget headers() {\n\t\treturn this[INTERNALS].headers;\n\t}\n\n\tget redirect() {\n\t\treturn this[INTERNALS].redirect;\n\t}\n\n\t/** @returns {AbortSignal} */\n\tget signal() {\n\t\treturn this[INTERNALS].signal;\n\t}\n\n\t// https://fetch.spec.whatwg.org/#dom-request-referrer\n\tget referrer() {\n\t\tif (this[INTERNALS].referrer === 'no-referrer') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (this[INTERNALS].referrer === 'client') {\n\t\t\treturn 'about:client';\n\t\t}\n\n\t\tif (this[INTERNALS].referrer) {\n\t\t\treturn this[INTERNALS].referrer.toString();\n\t\t}\n\n\t\treturn undefined;\n\t}\n\n\tget referrerPolicy() {\n\t\treturn this[INTERNALS].referrerPolicy;\n\t}\n\n\tset referrerPolicy(referrerPolicy) {\n\t\tthis[INTERNALS].referrerPolicy = validateReferrerPolicy(referrerPolicy);\n\t}\n\n\t/**\n\t * Clone this request\n\t *\n\t * @return  Request\n\t */\n\tclone() {\n\t\treturn new Request(this);\n\t}\n\n\tget [Symbol.toStringTag]() {\n\t\treturn 'Request';\n\t}\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\treferrer: {enumerable: true},\n\treferrerPolicy: {enumerable: true}\n});\n\n/**\n * Convert a Request to Node.js http request options.\n *\n * @param {Request} request - A Request instance\n * @return The options object to be passed to http.request\n */\nexport const getNodeRequestOptions = request => {\n\tconst {parsedURL} = request[INTERNALS];\n\tconst headers = new Headers(request[INTERNALS].headers);\n\n\t// Fetch step 1.3\n\tif (!headers.has('Accept')) {\n\t\theaders.set('Accept', '*/*');\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\n\tif (request.body !== null) {\n\t\tconst totalBytes = getTotalBytes(request);\n\t\t// Set Content-Length if totalBytes is a number (that is not NaN)\n\t\tif (typeof totalBytes === 'number' && !Number.isNaN(totalBytes)) {\n\t\t\tcontentLengthValue = String(totalBytes);\n\t\t}\n\t}\n\n\tif (contentLengthValue) {\n\t\theaders.set('Content-Length', contentLengthValue);\n\t}\n\n\t// 4.1. Main fetch, step 2.6\n\t// > If request's referrer policy is the empty string, then set request's referrer policy to the\n\t// > default referrer policy.\n\tif (request.referrerPolicy === '') {\n\t\trequest.referrerPolicy = DEFAULT_REFERRER_POLICY;\n\t}\n\n\t// 4.1. Main fetch, step 2.7\n\t// > If request's referrer is not \"no-referrer\", set request's referrer to the result of invoking\n\t// > determine request's referrer.\n\tif (request.referrer && request.referrer !== 'no-referrer') {\n\t\trequest[INTERNALS].referrer = determineRequestsReferrer(request);\n\t} else {\n\t\trequest[INTERNALS].referrer = 'no-referrer';\n\t}\n\n\t// 4.5. HTTP-network-or-cache fetch, step 6.9\n\t// > If httpRequest's referrer is a URL, then append `Referer`/httpRequest's referrer, serialized\n\t// >  and isomorphic encoded, to httpRequest's header list.\n\tif (request[INTERNALS].referrer instanceof URL) {\n\t\theaders.set('Referer', request.referrer);\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');\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, br');\n\t}\n\n\tlet {agent} = request;\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\tconst search = getSearch(parsedURL);\n\n\t// Pass the full URL directly to request(), but overwrite the following\n\t// options:\n\tconst options = {\n\t\t// Overwrite search to retain trailing ? (issue #776)\n\t\tpath: parsedURL.pathname + search,\n\t\t// The following options are not expressed in the URL\n\t\tmethod: request.method,\n\t\theaders: headers[Symbol.for('nodejs.util.inspect.custom')](),\n\t\tinsecureHTTPParser: request.insecureHTTPParser,\n\t\tagent\n\t};\n\n\treturn {\n\t\t/** @type {URL} */\n\t\tparsedURL,\n\t\toptions\n\t};\n};\n","export const getSearch = parsedURL => {\n\tif (parsedURL.search) {\n\t\treturn parsedURL.search;\n\t}\n\n\tconst lastOffset = parsedURL.href.length - 1;\n\tconst hash = parsedURL.hash || (parsedURL.href[lastOffset] === '#' ? '#' : '');\n\treturn parsedURL.href[lastOffset - hash.length] === '?' ? '?' : '';\n};\n","import {isIP} from 'node:net';\n\n/**\n * @external URL\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/URL|URL}\n */\n\n/**\n * @module utils/referrer\n * @private\n */\n\n/**\n * @see {@link https://w3c.github.io/webappsec-referrer-policy/#strip-url|Referrer Policy §8.4. Strip url for use as a referrer}\n * @param {string} URL\n * @param {boolean} [originOnly=false]\n */\nexport function stripURLForUseAsAReferrer(url, originOnly = false) {\n\t// 1. If url is null, return no referrer.\n\tif (url == null) { // eslint-disable-line no-eq-null, eqeqeq\n\t\treturn 'no-referrer';\n\t}\n\n\turl = new URL(url);\n\n\t// 2. If url's scheme is a local scheme, then return no referrer.\n\tif (/^(about|blob|data):$/.test(url.protocol)) {\n\t\treturn 'no-referrer';\n\t}\n\n\t// 3. Set url's username to the empty string.\n\turl.username = '';\n\n\t// 4. Set url's password to null.\n\t// Note: `null` appears to be a mistake as this actually results in the password being `\"null\"`.\n\turl.password = '';\n\n\t// 5. Set url's fragment to null.\n\t// Note: `null` appears to be a mistake as this actually results in the fragment being `\"#null\"`.\n\turl.hash = '';\n\n\t// 6. If the origin-only flag is true, then:\n\tif (originOnly) {\n\t\t// 6.1. Set url's path to null.\n\t\t// Note: `null` appears to be a mistake as this actually results in the path being `\"/null\"`.\n\t\turl.pathname = '';\n\n\t\t// 6.2. Set url's query to null.\n\t\t// Note: `null` appears to be a mistake as this actually results in the query being `\"?null\"`.\n\t\turl.search = '';\n\t}\n\n\t// 7. Return url.\n\treturn url;\n}\n\n/**\n * @see {@link https://w3c.github.io/webappsec-referrer-policy/#enumdef-referrerpolicy|enum ReferrerPolicy}\n */\nexport const ReferrerPolicy = new Set([\n\t'',\n\t'no-referrer',\n\t'no-referrer-when-downgrade',\n\t'same-origin',\n\t'origin',\n\t'strict-origin',\n\t'origin-when-cross-origin',\n\t'strict-origin-when-cross-origin',\n\t'unsafe-url'\n]);\n\n/**\n * @see {@link https://w3c.github.io/webappsec-referrer-policy/#default-referrer-policy|default referrer policy}\n */\nexport const DEFAULT_REFERRER_POLICY = 'strict-origin-when-cross-origin';\n\n/**\n * @see {@link https://w3c.github.io/webappsec-referrer-policy/#referrer-policies|Referrer Policy §3. Referrer Policies}\n * @param {string} referrerPolicy\n * @returns {string} referrerPolicy\n */\nexport function validateReferrerPolicy(referrerPolicy) {\n\tif (!ReferrerPolicy.has(referrerPolicy)) {\n\t\tthrow new TypeError(`Invalid referrerPolicy: ${referrerPolicy}`);\n\t}\n\n\treturn referrerPolicy;\n}\n\n/**\n * @see {@link https://w3c.github.io/webappsec-secure-contexts/#is-origin-trustworthy|Referrer Policy §3.2. Is origin potentially trustworthy?}\n * @param {external:URL} url\n * @returns `true`: \"Potentially Trustworthy\", `false`: \"Not Trustworthy\"\n */\nexport function isOriginPotentiallyTrustworthy(url) {\n\t// 1. If origin is an opaque origin, return \"Not Trustworthy\".\n\t// Not applicable\n\n\t// 2. Assert: origin is a tuple origin.\n\t// Not for implementations\n\n\t// 3. If origin's scheme is either \"https\" or \"wss\", return \"Potentially Trustworthy\".\n\tif (/^(http|ws)s:$/.test(url.protocol)) {\n\t\treturn true;\n\t}\n\n\t// 4. If origin's host component matches one of the CIDR notations 127.0.0.0/8 or ::1/128 [RFC4632], return \"Potentially Trustworthy\".\n\tconst hostIp = url.host.replace(/(^\\[)|(]$)/g, '');\n\tconst hostIPVersion = isIP(hostIp);\n\n\tif (hostIPVersion === 4 && /^127\\./.test(hostIp)) {\n\t\treturn true;\n\t}\n\n\tif (hostIPVersion === 6 && /^(((0+:){7})|(::(0+:){0,6}))0*1$/.test(hostIp)) {\n\t\treturn true;\n\t}\n\n\t// 5. If origin's host component is \"localhost\" or falls within \".localhost\", and the user agent conforms to the name resolution rules in [let-localhost-be-localhost], return \"Potentially Trustworthy\".\n\t// We are returning FALSE here because we cannot ensure conformance to\n\t// let-localhost-be-loalhost (https://tools.ietf.org/html/draft-west-let-localhost-be-localhost)\n\tif (url.host === 'localhost' || url.host.endsWith('.localhost')) {\n\t\treturn false;\n\t}\n\n\t// 6. If origin's scheme component is file, return \"Potentially Trustworthy\".\n\tif (url.protocol === 'file:') {\n\t\treturn true;\n\t}\n\n\t// 7. If origin's scheme component is one which the user agent considers to be authenticated, return \"Potentially Trustworthy\".\n\t// Not supported\n\n\t// 8. If origin has been configured as a trustworthy origin, return \"Potentially Trustworthy\".\n\t// Not supported\n\n\t// 9. Return \"Not Trustworthy\".\n\treturn false;\n}\n\n/**\n * @see {@link https://w3c.github.io/webappsec-secure-contexts/#is-url-trustworthy|Referrer Policy §3.3. Is url potentially trustworthy?}\n * @param {external:URL} url\n * @returns `true`: \"Potentially Trustworthy\", `false`: \"Not Trustworthy\"\n */\nexport function isUrlPotentiallyTrustworthy(url) {\n\t// 1. If url is \"about:blank\" or \"about:srcdoc\", return \"Potentially Trustworthy\".\n\tif (/^about:(blank|srcdoc)$/.test(url)) {\n\t\treturn true;\n\t}\n\n\t// 2. If url's scheme is \"data\", return \"Potentially Trustworthy\".\n\tif (url.protocol === 'data:') {\n\t\treturn true;\n\t}\n\n\t// Note: The origin of blob: and filesystem: URLs is the origin of the context in which they were\n\t// created. Therefore, blobs created in a trustworthy origin will themselves be potentially\n\t// trustworthy.\n\tif (/^(blob|filesystem):$/.test(url.protocol)) {\n\t\treturn true;\n\t}\n\n\t// 3. Return the result of executing §3.2 Is origin potentially trustworthy? on url's origin.\n\treturn isOriginPotentiallyTrustworthy(url);\n}\n\n/**\n * Modifies the referrerURL to enforce any extra security policy considerations.\n * @see {@link https://w3c.github.io/webappsec-referrer-policy/#determine-requests-referrer|Referrer Policy §8.3. Determine request's Referrer}, step 7\n * @callback module:utils/referrer~referrerURLCallback\n * @param {external:URL} referrerURL\n * @returns {external:URL} modified referrerURL\n */\n\n/**\n * Modifies the referrerOrigin to enforce any extra security policy considerations.\n * @see {@link https://w3c.github.io/webappsec-referrer-policy/#determine-requests-referrer|Referrer Policy §8.3. Determine request's Referrer}, step 7\n * @callback module:utils/referrer~referrerOriginCallback\n * @param {external:URL} referrerOrigin\n * @returns {external:URL} modified referrerOrigin\n */\n\n/**\n * @see {@link https://w3c.github.io/webappsec-referrer-policy/#determine-requests-referrer|Referrer Policy §8.3. Determine request's Referrer}\n * @param {Request} request\n * @param {object} o\n * @param {module:utils/referrer~referrerURLCallback} o.referrerURLCallback\n * @param {module:utils/referrer~referrerOriginCallback} o.referrerOriginCallback\n * @returns {external:URL} Request's referrer\n */\nexport function determineRequestsReferrer(request, {referrerURLCallback, referrerOriginCallback} = {}) {\n\t// There are 2 notes in the specification about invalid pre-conditions.  We return null, here, for\n\t// these cases:\n\t// > Note: If request's referrer is \"no-referrer\", Fetch will not call into this algorithm.\n\t// > Note: If request's referrer policy is the empty string, Fetch will not call into this\n\t// > algorithm.\n\tif (request.referrer === 'no-referrer' || request.referrerPolicy === '') {\n\t\treturn null;\n\t}\n\n\t// 1. Let policy be request's associated referrer policy.\n\tconst policy = request.referrerPolicy;\n\n\t// 2. Let environment be request's client.\n\t// not applicable to node.js\n\n\t// 3. Switch on request's referrer:\n\tif (request.referrer === 'about:client') {\n\t\treturn 'no-referrer';\n\t}\n\n\t// \"a URL\": Let referrerSource be request's referrer.\n\tconst referrerSource = request.referrer;\n\n\t// 4. Let request's referrerURL be the result of stripping referrerSource for use as a referrer.\n\tlet referrerURL = stripURLForUseAsAReferrer(referrerSource);\n\n\t// 5. Let referrerOrigin be the result of stripping referrerSource for use as a referrer, with the\n\t//    origin-only flag set to true.\n\tlet referrerOrigin = stripURLForUseAsAReferrer(referrerSource, true);\n\n\t// 6. If the result of serializing referrerURL is a string whose length is greater than 4096, set\n\t//    referrerURL to referrerOrigin.\n\tif (referrerURL.toString().length > 4096) {\n\t\treferrerURL = referrerOrigin;\n\t}\n\n\t// 7. The user agent MAY alter referrerURL or referrerOrigin at this point to enforce arbitrary\n\t//    policy considerations in the interests of minimizing data leakage. For example, the user\n\t//    agent could strip the URL down to an origin, modify its host, replace it with an empty\n\t//    string, etc.\n\tif (referrerURLCallback) {\n\t\treferrerURL = referrerURLCallback(referrerURL);\n\t}\n\n\tif (referrerOriginCallback) {\n\t\treferrerOrigin = referrerOriginCallback(referrerOrigin);\n\t}\n\n\t// 8.Execute the statements corresponding to the value of policy:\n\tconst currentURL = new URL(request.url);\n\n\tswitch (policy) {\n\t\tcase 'no-referrer':\n\t\t\treturn 'no-referrer';\n\n\t\tcase 'origin':\n\t\t\treturn referrerOrigin;\n\n\t\tcase 'unsafe-url':\n\t\t\treturn referrerURL;\n\n\t\tcase 'strict-origin':\n\t\t\t// 1. If referrerURL is a potentially trustworthy URL and request's current URL is not a\n\t\t\t//    potentially trustworthy URL, then return no referrer.\n\t\t\tif (isUrlPotentiallyTrustworthy(referrerURL) && !isUrlPotentiallyTrustworthy(currentURL)) {\n\t\t\t\treturn 'no-referrer';\n\t\t\t}\n\n\t\t\t// 2. Return referrerOrigin.\n\t\t\treturn referrerOrigin.toString();\n\n\t\tcase 'strict-origin-when-cross-origin':\n\t\t\t// 1. If the origin of referrerURL and the origin of request's current URL are the same, then\n\t\t\t//    return referrerURL.\n\t\t\tif (referrerURL.origin === currentURL.origin) {\n\t\t\t\treturn referrerURL;\n\t\t\t}\n\n\t\t\t// 2. If referrerURL is a potentially trustworthy URL and request's current URL is not a\n\t\t\t//    potentially trustworthy URL, then return no referrer.\n\t\t\tif (isUrlPotentiallyTrustworthy(referrerURL) && !isUrlPotentiallyTrustworthy(currentURL)) {\n\t\t\t\treturn 'no-referrer';\n\t\t\t}\n\n\t\t\t// 3. Return referrerOrigin.\n\t\t\treturn referrerOrigin;\n\n\t\tcase 'same-origin':\n\t\t\t// 1. If the origin of referrerURL and the origin of request's current URL are the same, then\n\t\t\t//    return referrerURL.\n\t\t\tif (referrerURL.origin === currentURL.origin) {\n\t\t\t\treturn referrerURL;\n\t\t\t}\n\n\t\t\t// 2. Return no referrer.\n\t\t\treturn 'no-referrer';\n\n\t\tcase 'origin-when-cross-origin':\n\t\t\t// 1. If the origin of referrerURL and the origin of request's current URL are the same, then\n\t\t\t//    return referrerURL.\n\t\t\tif (referrerURL.origin === currentURL.origin) {\n\t\t\t\treturn referrerURL;\n\t\t\t}\n\n\t\t\t// Return referrerOrigin.\n\t\t\treturn referrerOrigin;\n\n\t\tcase 'no-referrer-when-downgrade':\n\t\t\t// 1. If referrerURL is a potentially trustworthy URL and request's current URL is not a\n\t\t\t//    potentially trustworthy URL, then return no referrer.\n\t\t\tif (isUrlPotentiallyTrustworthy(referrerURL) && !isUrlPotentiallyTrustworthy(currentURL)) {\n\t\t\t\treturn 'no-referrer';\n\t\t\t}\n\n\t\t\t// 2. Return referrerURL.\n\t\t\treturn referrerURL;\n\n\t\tdefault:\n\t\t\tthrow new TypeError(`Invalid referrerPolicy: ${policy}`);\n\t}\n}\n\n/**\n * @see {@link https://w3c.github.io/webappsec-referrer-policy/#parse-referrer-policy-from-header|Referrer Policy §8.1. Parse a referrer policy from a Referrer-Policy header}\n * @param {Headers} headers Response headers\n * @returns {string} policy\n */\nexport function parseReferrerPolicyFromHeader(headers) {\n\t// 1. Let policy-tokens be the result of extracting header list values given `Referrer-Policy`\n\t//    and response’s header list.\n\tconst policyTokens = (headers.get('referrer-policy') || '').split(/[,\\s]+/);\n\n\t// 2. Let policy be the empty string.\n\tlet policy = '';\n\n\t// 3. For each token in policy-tokens, if token is a referrer policy and token is not the empty\n\t//    string, then set policy to token.\n\t// Note: This algorithm loops over multiple policy values to allow deployment of new policy\n\t// values with fallbacks for older user agents, as described in § 11.1 Unknown Policy Values.\n\tfor (const token of policyTokens) {\n\t\tif (token && ReferrerPolicy.has(token)) {\n\t\t\tpolicy = token;\n\t\t}\n\t}\n\n\t// 4. Return policy.\n\treturn policy;\n}\n","import {FetchBaseError} from './base.js';\n\n/**\n * AbortError interface for cancelled requests\n */\nexport class AbortError extends FetchBaseError {\n\tconstructor(message, type = 'aborted') {\n\t\tsuper(message, type);\n\t}\n}\n","import { Octokit } from '@octokit/core'\nimport { paginateGraphql } from '@octokit/plugin-paginate-graphql'\nimport fetch from 'node-fetch'\n\nexport const getOctokit = ({ ghToken }: { ghToken: string }) => {\n  const OctokitWithPlugins = Octokit.plugin(paginateGraphql)\n  return new OctokitWithPlugins({ auth: ghToken, request: { fetch } })\n}\n","import { getInput, getMultilineInput } from '@actions/core'\n\nfunction isValidDismissActionInput(\n  dismissAction: string,\n): dismissAction is 'dismissAction' | 'dismiss-none' {\n  return dismissAction === 'dismiss-all' || dismissAction === 'dismiss-none'\n}\n\nexport const getInputs = () => {\n  const ghToken = getInput('token', { required: true })\n  const ignoreFiles = getMultilineInput('ignore-files')\n  const noOwnerAction = getInput('no-owner-action', { required: true })\n  const forcePushAction = getInput('force-push-action', { required: true })\n\n  if (!isValidDismissActionInput(noOwnerAction)) {\n    throw new Error(\n      `The no-owner-action input accepts only \"dismiss-all\" or \"dismiss-none\" enum. Got \"${noOwnerAction}\"`,\n    )\n  }\n\n  if (!isValidDismissActionInput(forcePushAction)) {\n    throw new Error(\n      `The force-push-action input accepts only \"dismiss-all\" or \"dismiss-none\" enum. Got \"${forcePushAction}\"`,\n    )\n  }\n\n  return {\n    ghToken,\n    ignoreFiles,\n    noOwnerAction,\n    forcePushAction,\n  }\n}\n"],"mappings":"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,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,aAAY,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,0BAAyB,CAAC,IAAG,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,0BAAyB,CAAC,IAAG,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,0BAAyB,CAAC,IAAG,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,0BAAyB,CAAC,IAAG,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,0BAAyB,CAAC,IAAG,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,0BAAyB,CAAC,IAAG,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,SAAS,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,YAAY,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,0BAAyB,CAAC,IAAG,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,0BAAyB,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,YAAY,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,0BAAyB,CAAC,IAAG,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,0BAAyB,CAAC,IAAG,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,YAAY,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,YAAY,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,YAAY,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,aAAY,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,OAAO,GAAE,CAAC,CAAC,KAAK,GAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,GAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAS,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAG,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,KAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,MAAK,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAI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AS,CAAC,IAAG,MAAK,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAG,MAAK,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAG,MAAK,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAG,MAAK,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAG,MAAK,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAG,MAAK,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAG,IAAI,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,KAAI,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,KAAI,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,KAAI,KAAI,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,KAAI,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CA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E,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,IAAG,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,IAAG,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,IAAG,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,IAAG,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,IAAG,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,IAAG,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,IAAG,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,IAAG,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,IAAG,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,IAAG,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,IAAG,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,YAAY,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,MAAK,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,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,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,MAAK,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,MAAK,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,MAAK,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,MAAK,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,MAAK,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,MAAK,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,MAAK,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,MAAK,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,MAAK,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,MAAK,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,MAAK,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,MAAK,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,MAAK,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,MAAK,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,OAAM,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,MAAM,IAAK,GAAE,UAAS,CAAC,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,OAAM,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,IAAG,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,OAAM,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,IAAG,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,IAAG,IAAG,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,KAAI,EAAE,CAAC,GAAE,CAAC,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OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAG,IAAG,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,IAAG,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,MAAM,IAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,MAAM,IAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,O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AAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,MAAK,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAS,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,0BAAyB,CAAC,IAAG,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,MAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,YAAY,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,OAAO,GAAE,CAAC,CAAC,OAAM,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,OAAO,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,OAAO,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,OAAO,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,C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AAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,MAAO,IAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,OAAO,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,OAAO,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,OAAO,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,OAAO,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,OAAO,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,OAAO,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,OAAO,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,OAAO,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAI,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,0BAAyB,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,0BAAyB,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,0BAAyB,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,0BAAyB,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,0BAAyB,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,0BAAyB,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,0BAAyB,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,0BAAyB,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,0BAAyB,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,0BAAyB,CAAC,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,0BAAyB,CAAC,IAAG,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,0BAAyB,CAAC,IAAG,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,0BAAyB,CAAC,IAAG,IAAG,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,0BAAyB,CAAC,IAAG,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,OAAM,KAAI,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAG,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAI,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAI,EAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAI,GAAG,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,OAAM,OAAM,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,OAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,SAAQ,CAAC,GAAE,KAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,OAAO,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,OAAO,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,OAAO,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,OAAO,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,IAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,OAAO,KAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,GAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,KAAK,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,UAAS,CAAC,MAAM,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,YAAY,GAAE,CAAC,CAAC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SAAS,GAAG;EAC/C,OACS;AACD,WAAO;EACf;AACA;ACAO,SAAS,aAAa,SAAS;AAClC,SAAO;IACH,UAAU,OAAO,OAAO,SAAS,KAAK,MAAM,OAAO,GAAG;MAClD,UAAU,SAAS,KAAK,MAAM,OAAO;IACjD,CAAS;EACT;AACA;APfO,IAAMC,UIEA,qBCFA;ALAN,IAAAC,kBAAA;;;IAAMD,WAAU;AIEX,IAAC,sBAAsB,OAAO,OAAO,UAAU;MACvD;IACJ,CAAC;ACJW,IAAC,sBAAsB;MAC/B;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MAC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","names":["path","_a","_a","x","http","https","self","options","i","debug","onError","socket","require_tunnel","module","http","https","HttpCodes","Headers","MediaTypes","userAgent","lowercaseKeys","module","name","method","module","hook","module","module","hook","defaults","context","value","DEFAULTS","endpoint","require_lib","module","x","i","S","require_utils","module","i","module","module","normalize","s","i","e","module","i","path","res","e","module","URL","i","Stream","iterator","URL","proto","request","https","http","abort","abortAndFinalize","s","zlib","_Blob","i","e","Url","whatwgUrl","isDomainOrSubdomain","isSameProtocol","init_dist_web","module","i","cb","module","once","f","once","fetch","getBuffer","withDefaults","endpoint","request","route","parameters","VERSION","e","request","withDefaults","Request","VERSION","graphql","request","endpoint","init_dist_web","createTokenAuth","VERSION","hook","auth","defaults","_a","dist_web_exports","endpoint","defaults","options","ENDPOINTS","VERSION","init_dist_web","dist_web_exports","iterator","VERSION","init_dist_web","auth","getOctokit","os","first","s","crypto","i","i","parse","i","version","URL","crypto","import_crypto","i","crypto","import_crypto","fs","os","_a","_a","path","os","path","ExitCode","getInput","getMultilineInput","x","debug","module","s","m","h","parse","match","module","env","i","debug","self","match","module","match","r","module","module","os","tty","hasFlag","env","translateLevel","supportsColor","version","module","tty","supportsColor","useColors","debug","i","module","path","stat","e","exists","__export","deferred","module","fs","module","module","run","module","module","path","module","path","find","module","i","IgnoreBase","filter","path","match","cache","r","make_posix","module","fs","stat","fs","normalize","cache","m","stat","err","base","module","fs","version","cache","module","i","x","module","r","m","i","module","m","expand","i","x","module","minimatch","Minimatch","path","e","GLOBSTAR","expand","qmark","star","twoStarDot","twoStarNoDot","reSpecials","s","set","filter","i","ext","t","m","defaults","makeRe","braceExpand","assertValidPattern","debug","MAX_PATTERN_LENGTH","parse","self","addPatternStart","regExpEscape","f","match","module","module","e","module","path","require_common","fs","path","minimatch","Minimatch","self","i","m","e","f","module","minimatch","Minimatch","path","i","self","set","e","m","stat","f","exists","module","once","i","module","minimatch","Minimatch","path","once","i","set","self","f","e","m","exists","stat","er","module","path","module","fs","path","Codeowners","require_brace_expansion","module","m","expand","i","x","noop","x","F","i","Symbol","context","isObject","e","iterator","_a","r","request","isAbortSignal","streamBrandCheckException","defaultControllerBrandCheckException","DOMException","ReadableStream","POOL_SIZE","process","Blob","clone","Blob","size","File","F","f","e","FormData","m","module","fs","DOMException","m","match","Body","parser","f","i","clear","process","os","version","tty","styles","chalk","self","import_core","import_core","import_promise_deferred","path","__esm","i","filter","omit","match","parse","__export","debug","debug2","e","merge","version_default","init_version","__commonJS","module","__toCommonJS","context","s","i","r","unescape","s","s","i","acc","ext","start","final","unescape","s","ext","f","qmark","star","m","s","expand","regExpEscape","set","i","unescape","chalk","Codeowners","e","getPullRequestQuery","import_before_after_hook","VERSION","userAgent","VERSION","DEFAULTS","lowercaseKeys","mergeDeep","defaults","removeUndefinedProperties","merge","defaults","lowercaseKeys","removeUndefinedProperties","mergeDeep","addQueryParameters","urlVariableRegex","removeNonChars","extractUrlVariableNames","omit","encodeReserved","encodeUnreserved","encodeValue","isDefined","isKeyOperator","getValues","context","parseUrl","expand","parse","omit","extractUrlVariableNames","parseUrl","addQueryParameters","endpointWithDefaults","defaults","parse","merge","withDefaults","DEFAULTS","merge","endpoint","endpointWithDefaults","parse","endpoint","withDefaults","DEFAULTS","VERSION","init_dist_web","import_once","logOnceCode","once","logOnceHeaders","RequestError","getBufferResponse","fetchWrapper","fetch","RequestError","getResponseData","toErrorMessage","getBufferResponse","withDefaults","endpoint","fetchWrapper","request","request","withDefaults","endpoint","VERSION","VERSION","_buildMessageForResponseErrors","e","GraphqlResponseError","request2","NON_VARIABLE_OPTIONS","FORBIDDEN_VARIABLE_OPTIONS","GHES_V3_SUFFIX_REGEX","graphql","withDefaults","graphql2","request","withCustomRequest","REGEX_IS_INSTALLATION_LEGACY","REGEX_IS_INSTALLATION","REGEX_IS_USER_TO_SERVER","auth","withAuthorizationPrefix","hook","request","endpoint","withAuthorizationPrefix","createTokenAuth","createTokenAuth2","auth","hook","VERSION","Octokit","defaults","hook","request","withCustomRequest","auth","createTokenAuth","path","isObject","path","path","iterator","import_node_http","import_node_stream","import_node_buffer","i","FetchError","isBlob","isAbortSignal","isDomainOrSubdomain","isSameProtocol","Stream","INTERNALS","Body","isBlob","FetchError","consumeBody","toFormData","clone","extractContentType","request","getTotalBytes","writeToStream","import_node_util","http","Headers","INTERNALS","Response","Body","Headers","extractContentType","clone","import_node_util","request","INTERNALS","isRequest","Request","Body","clone","Headers","extractContentType","isAbortSignal","formatUrl","getNodeRequestOptions","request","getTotalBytes","AbortError","fetch","request","Request","getNodeRequestOptions","response","Response","https","http","AbortError","Stream","FetchError","fixResponseChunkedTransferBadEnding","s","Headers","clone","isDomainOrSubdomain","isSameProtocol","pump","zlib","writeToStream","Octokit","fetch","import_core","chalk","e"]}
\ No newline at end of file